微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 当邮递员返回200时,Restsharp返回403

这是Postman为成功调用我的页面而提供的(修改过的)代码段.

var client = new RestClient("http://sub.example.com/wp-json/wp/v2/users/me");
var request = new RestRequest(Method.GET);
request.AddHeader("authorization","Basic anVyYTp3MmZacmo2eGtBOHJsRWrt");
IRestResponse response = client.Execute(request);

但是当放置在我的c#应用程序中时,它会返回403禁止,而邮差则会返回并收到200.
当我在我的应用程序中使用httpclient时会发生同样的事情(403).

解决方法

请改用 RestClient.Authenticator

var client = new RestClient("http://sub.example.com/wp-json/wp/v2/users/me")
{ 
      Authenticator = new HttpBasicAuthenticator("User","Pass")
};

var request = new RestRequest(Method.GET);
IRestResponse response = client.Execute(request);

编辑:

由于问题(如评论中所述)是RestSharp不通过重定向传递身份验证的事实,我建议使用HttpClient与httpclienthandler的组合,您可以将身份验证设置为流.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐