我知道這已被問了很多次。我已經閱讀了大多數在這裏和其他網站上的所有帖子,比如這個。(407)需要代理驗證
http://social.msdn.microsoft.com/Forums/en-US/ncl/thread/2931d21c-9ca8-4256-b213-915fad4c941b/
隨着無濟於事。這裏的環境
的Windows Server 2008 R2 64位 的Visual Studio 2008 .NET Framework 3.5的
這是我曾嘗試
我使用代碼
WebRequest req = WebRequest.Create(requestUri + data);
req.Proxy = new System.Net.WebProxy(<ProxyURL>:<port>",true);
req.Proxy.Credentials = CredentialCache.DefaultCredentials;
WebResponse resp = req.GetResponse();
這不得不代理認證工作,但看到因爲它減慢了應用程序,我瞭解到我可以編輯我所做的machine.config文件。它也工作!
<system.net>
<defaultProxy
useDefaultCredentials="true">
<proxy
proxyaddress="<proxyURL>:<port>"
bypassonlocal="True"/>
</defaultProxy>
</system.net>
至少一天或2天然後它開始失敗。
我然後編輯這個
<system.net>
<defaultProxy
useDefaultCredentials="true">
<proxy usesystemdefault="True"/>
</defaultProxy>
</system.net>
從我的理解,這將使用IE設置連接到代理,但仍然無法正常工作。我也嘗試tihs代碼
WebProxy proxy = new WebProxy(<proxy>:<port>);
CredentialCache myCache = new CredentialCache();
myCache.Add(new Uri(requestUri + data), "BASIC", new NetworkCredential(<username>,<password>));
proxy.Credentials = myCache;
request.Proxy = proxy;
request.Method = "GET";
而這沒有奏效。
注意:我可以將machine.config文件複製到我的電腦(Win XP)並從那裏運行.exe(沒有代理代碼),它工作正常。
與64位操作系統有什麼不同嗎?另外我可以在服務器上打開IE8並訪問URI就好了。目標是預先驗證代理,而不必在代碼中提供用戶名密碼。
密碼不能包含特殊字符......試試吧! – 2013-12-25 10:22:44