我看到了幾個對此問題的回覆,但是在我的情況下似乎沒有任何迴應。這是情況。401訪問API時出錯
我正在使用來自thetvdb.com的API。
我正在通過API加載XML。如果我運行該應用程序,它會給我一個401錯誤。如果我先在IE中加載URL,然後運行加載正常的應用程序。
我懷疑它的cookie問題,但我不確定如何在下面的請求期間傳遞該cookie。
var _doc = new XmlDocument();
_doc.Load(_url);
在此先感謝您的幫助。
我看到了幾個對此問題的回覆,但是在我的情況下似乎沒有任何迴應。這是情況。401訪問API時出錯
我正在使用來自thetvdb.com的API。
我正在通過API加載XML。如果我運行該應用程序,它會給我一個401錯誤。如果我先在IE中加載URL,然後運行加載正常的應用程序。
我懷疑它的cookie問題,但我不確定如何在下面的請求期間傳遞該cookie。
var _doc = new XmlDocument();
_doc.Load(_url);
在此先感謝您的幫助。
HTTP error 401 means "unauthorized".
這意味着你需要聯繫提供API的人,並要求他們如何進行身份驗證。
每個供應商都不一樣。
合適的人要問是提供Web服務/ API的人。
但是,作爲一個GUESS,我會說這可能是通過證書完成的。 IE認識到它的事實,但.NET運行時不會提示證書用於驗證你,而證書被IE識別,但不能識別.NET運行時。 – David
API是thetvdb.com並且通過API密鑰完成驗證。 –
那麼沒有人遇到過這個問題? –
經過多次閱讀和試驗和錯誤,我已經想通了。我已經測試了幾個網站。
WebRequest _wr = WebRequest.Create(_url);
_wr.UseDefaultCredentials = true;
_wr.PreAuthenticate = true;
_wr.GetResponse();
//do your stuff
_wr.Dispose();
這似乎複製了我手動打開瀏覽器和導航到頁面的步驟,以防止401錯誤,當我啓動我的應用程序。我希望這可以幫助別人,因爲我理解挫折感。
API是thetvdb.com,並通過API密鑰完成身份驗證。 –
除了要傳遞的API密鑰外,沒有任何憑據,我也嘗試發送頭信息,但都沒有成功。 –