远程服务器返回错误:(407)需要代理身份validation

我引用了几个网站,它们回答了这个问题“远程服务器返回错误:(407)需要代理validation。” ,但没有一个是有帮助的。 我写了一个示例代码来检查办公室中的代理身份validation。 代码抛出exception。

我的要求: – validation网站返回的内容。 在办公室以外,代码工作正常,但在办公室它会因代理而抛出exception。 当我使用新的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中提到了解决方案,但即使这样也没有用。 我错过了什么?

我有同样的问题,这对我有用

request.Proxy.Credentials = CredentialCache.DefaultCredentials;

这里有很多东西。 您可以尝试显式设置凭据

 request.Credentials = new NetworkCredentials(username, password) 

您可能需要指定代理。 默认情况下,它使用您的IE代理。 你可能不想那样

 WebRequest webRequest = WebRequest.Create("http://stackoverflow.com/"); webRequest.Proxy = new WebProxy("http://proxyserver:80/",true);