Webrequest使用邮递员工作返回401但相同的请求

时间:2014-10-02 14:04:14

标签: c# asp.net asp.net-web-api webclient postman

我有一个调用webapi Web服务的c#客户端(iis 6)。我能够从邮递员成功执行我的网络电话 - 无验证(普通标签)。 来自c#webclient的同一个调用失败。

看着提琴手中的请求,我看不出两者之间的区别。

以下是我发送的请求(邮递员和webclient)没有设置标题。

https://store.isswerver.com/api/details/Users - 从邮递员客户那里取得成功

使用c#client返回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));

如果我在本地计算机上运行网站,客户端就可以正常工作。

邮递员提交请求的方式有何不同?

1 个答案:

答案 0 :(得分:1)

使用嗅探器检查Postman实际上在线路上发送的内容,并将其与您发送的任何类型的差异进行比较,包括标头和有效负载。

401 Unauthorized通常意味着您没有提供身份验证凭据,但服务器可以根据任何原因返回他们想要的任何状态代码(例如,如果他们不喜欢用户代理,则没有什么可以阻止他们返回401状态)。

相关问题