2015-08-30 32 views
4

這是Postman爲成功調用我的頁面所提供的(修改)片段。Restharp返回403,而郵遞員返回200

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 ,當我在我的應用程序(403)使用HttpClient的同樣的事情發生。

回答

1

使用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不會通過重定向流量的認證,我想事實建議使用HttpClientHttpClientHandler的組合,在其中將驗證設置爲流。

+0

同樣的事情發生,我得到403禁止。 – steakoverflow

+0

@vani你確定你的驗證證書是好的嗎? –

+0

我是在Postman和我的應用程序之間進行粘貼的複製,並且Basic標頭中的用戶名:密碼的base64表示形式是相同的。 – steakoverflow