2014-10-02 47 views
0

我有一個調用webapi web服務(iis 6)的c#客戶端。我能夠成功地從郵遞員執行我的Web呼叫 - 無認證(普通標籤)。 來自c#webclient的相同調用失敗。Webrequest返回401,但使用郵遞員作品的請求相同

看着小提琴手的請求,我沒有看到兩者之間的區別。

以下是我發送的請求(郵遞員和web客戶端)沒有設置標題。

https://store.isswerver.com/api/details/Users - 使用C#的客戶端

_client = new WebClient(); 
_client.Headers.Add("Content-Type", "application/json; charset=utf-8"); 
_client.Headers.Add("Accept", "application/json"); 
byte[] data = _client.DownloadData(string.Format("{0}/Users", _apiUrl)); 

客戶做工作,如果我跑我的本地機器上的網站從郵遞員客戶

返回401成功。

郵遞員提交請求的方式有什麼不同?

+0

HTTP 401意味着未經授權,所以我會假設您在通過瀏覽器執行請求時已登錄? – pln 2014-10-02 14:08:57

+1

如果設置_client.UseDefaultCredentials = true,會發生什麼情況? – pln 2014-10-02 14:30:23

+0

_client.UseDefaultCredentials = true修正了它,我發誓我已經試過了,謝謝! – user1127081 2014-10-02 15:02:03

回答

0

檢查用嗅探什麼郵差實際上是發送上線,並與您所發送的內容任何樣的差異比較,無論是在報頭和有效載荷。

401 Unauthorized通常意味着您沒有提供身份驗證憑據,但是服務器可以根據任何原因返回他們想要的任何狀態碼(例如,如果他們不喜歡用戶代理,則無法阻止它們返回401狀態)。

相關問題