加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 22:19:23 所属栏目:百科 来源:网络整理
导读:这是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 anVyYTp3MmZacmo2eGtBOHJs
这是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的组合,您可以将身份验证设置为流.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读