5

这是 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 禁止,而 Postman 制作它并收到 200。当我在我的应用程序中使用 httpclient (403) 时,也会发生同样的事情。

4

2 回答 2

2

改用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您将身份验证设置为流的位置。

于 2015-08-30T18:26:20.770 回答
0

[解决方案] 使用下面的行作为标题

Headers.Add("用户代理:其他");

于 2022-02-08T20:43:52.777 回答