我提到的幾個網站,其中有回答這個問題 「遠程服務器返回錯誤:(407)代理身份驗證」 ,但沒有任何幫助。 我寫了一個示例代碼來檢查辦公室中的代理身份驗證。該代碼拋出異常。遠程服務器返回錯誤:(407)代理身份驗證
我的要求: - 驗證一下網站的回報。在辦公室外面,代碼工作正常,但在辦公室中由於代理服務器而引發異常。 當我使用新的NetworkCredential對憑據進行硬編碼時,它工作正常。
int ResponseCode;
string url = "http://www.msftncsi.com/ncsi.txt";
WebRequest request = WebRequest.Create(url);
request.Credentials = CredentialCache.DefaultCredentials;
using (WebResponse response = request.GetResponse())
{
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
responseFromServer = reader.ReadToEnd();
ResponseCode = (int)((HttpWebResponse)response).StatusCode;
reader.Close();
}
我不想要硬編碼。我在http://social.msdn.microsoft.com/Forums/is/csharpgeneral/thread/c06d3032-dceb-4a1a-bb6a-778fd13a938a中提到了解決方案,但即使這樣也沒有幫助。 我錯過了什麼?
1)它在我明確設置憑據時有效。但是如果我把這個應用程序給另一個用戶,它就不會工作。 – user1473039
我需要有共同的解決方案。 2)指定代理有多大幫助?它會被全球接受嗎(意思是說,我能在任何辦公室網絡中使用這個應用程序)?如果是的話,我很樂意使用它3)我們的程序有幾個檢查來驗證網絡連接。這個代碼是其中一個檢查並且在辦公室失敗。我們需要在不明確指定憑證的情況下運行。 @ fenix2222-我很感謝你的迴應。謝謝。 – user1473039
@ user1473039這意味着您需要讓基礎架構人員訪問外部網站「http://www.msftncsi.com/ncsi.txt」或讓他們創建一個您可以使用的服務帳戶,而不是使用您的憑據。在一天結束時,這是它的工作原理。或者,您可以嘗試模擬應用程序,以便在運行時CredentialCache.DefaultCredentials將使用運行應用程序的人的Windows憑據。 – fenix2222