Restsharp returns 403 而 Postman returns 200
Restsharp returns 403 while Postman returns 200
这是 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# 应用程序中时,它 returns 403 被禁止,而 Postman 成功并收到 200。
当我在我的应用程序 (403) 中使用 httpclient 时,也会发生同样的事情。
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
设置身份验证流的位置。
[解决方法]
使用下面的行作为 header
Headers.Add("User-Agent: 其他");
这是 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# 应用程序中时,它 returns 403 被禁止,而 Postman 成功并收到 200。 当我在我的应用程序 (403) 中使用 httpclient 时,也会发生同样的事情。
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
设置身份验证流的位置。
[解决方法] 使用下面的行作为 header
Headers.Add("User-Agent: 其他");