2012-05-02 80 views
0

我看到了幾個對此問題的回覆,但是在我的情況下似乎沒有任何迴應。這是情況。401訪問API時出錯

我正在使用來自thetvdb.com的API。

我正在通過API加載XML。如果我運行該應用程序,它會給我一個401錯誤。如果我先在IE中加載URL,然後運行加載正常的應用程序。

我懷疑它的cookie問題,但我不確定如何在下面的請求期間傳遞該cookie。

var _doc = new XmlDocument(); 
_doc.Load(_url); 

在此先感謝您的幫助。

+0

API是thetvdb.com,並通過API密鑰完成身份驗證。 –

+0

除了要傳遞的API密鑰外,沒有任何憑據,我也嘗試發送頭信息,但都沒有成功。 –

回答

2

HTTP error 401 means "unauthorized".

這意味着你需要聯繫提供API的人,並要求他們如何進行身份驗證。

每個供應商都不一樣。
合適的人要問是提供Web服務/ API的人。

+0

但是,作爲一個GUESS,我會說這可能是通過證書完成的。 IE認識到它的事實,但.NET運行時不會提示證書用於驗證你,而證書被IE識別,但不能識別.NET運行時。 – David

+0

API是thetvdb.com並且通過API密鑰完成驗證。 –

+0

那麼沒有人遇到過這個問題? –

1

經過多次閱讀和試驗和錯誤,我已經想通了。我已經測試了幾個網站。

WebRequest _wr = WebRequest.Create(_url); 
_wr.UseDefaultCredentials = true; 
_wr.PreAuthenticate = true; 
_wr.GetResponse(); 
//do your stuff 
_wr.Dispose(); 

這似乎複製了我手動打開瀏覽器和導航到頁面的步驟,以防止401錯誤,當我啓動我的應用程序。我希望這可以幫助別人,因爲我理解挫折感。

相關問題