远程服务器返回一个错误:(407)代理身份验证(The remote server returned

2019-07-30 01:37发布

我提到的几个网站,这已经回答了这个问题“远程服务器返回错误:(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 ,但即使没有帮助。 我在想什么?

Answer 1:

我有同样的问题,这并获得成功对我来说

request.Proxy.Credentials = CredentialCache.DefaultCredentials;



Answer 2:

这里有很多事情。 你可以尝试设置明确的凭据

request.Credentials = new NetworkCredentials(username, password)

您可能需要指定代理。 默认情况下,使用您的IE代理。 你可能不希望出现这种情况

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


文章来源: The remote server returned an error: (407) Proxy Authentication Required