【发布时间】:2014-11-27 13:06:31
【问题描述】:
我有一个调用 webapi Web 服务 (iis 6) 的 c# 客户端。我能够从邮递员成功执行我的网络呼叫 - 无身份验证(正常选项卡)。 来自 c# webclient 的相同调用失败。
查看提琴手中的请求,我看不出两者之间有什么区别。
以下是我发送的请求(邮递员和网络客户端),没有设置任何标头。
https://store.isswerver.com/api/details/Users - 从邮递员客户端成功
使用 c# 客户端返回 401
_client = new WebClient();
_client.Headers.Add("Content-Type", "application/json; charset=utf-8");
_client.Headers.Add("Accept", "application/json");
byte[] data = _client.DownloadData(string.Format("{0}/Users", _apiUrl));
如果我在本地机器上运行网站,客户端确实可以工作。
邮递员提交请求的方式有何不同?
【问题讨论】:
-
HTTP 401 表示未经授权,所以我假设您在通过浏览器发出请求时已登录?
-
如果设置 _client.UseDefaultCredentials = true 会发生什么?
-
_client.UseDefaultCredentials = true 已修复,我发誓我已经尝试过了 谢谢!
标签: c# asp.net asp.net-web-api webclient postman