0

我有调用 webapi Web 服务(iis 6)的 ac# 客户端。我能够从邮递员成功执行我的网络呼叫 - 无身份验证(正常选项卡)。来自 c# webclient 的相同调用失败。

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

下面是我发送的请求(邮递员和 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));

如果我在本地机器上运行网站,客户端确实可以工作。

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

4

1 回答 1

1

使用嗅探器检查 Postman 实际在网络上发送的内容,并将其与您发送的内容进行比较,以了解标头和有效负载中的任何差异。

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

于 2014-10-02T14:14:06.897 回答