这是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] 举报,一经查实,本站将立刻删除。