需要C#407代理验证

时间:2017-03-06 13:04:38

标签: c# c#-4.0

我想向资源发出请求(该资源在代理后面)。我也有代理地址和端口。我试过NetworkCredentialn没有成功,CacheCredentials没有成功。 WebException是:

  

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

我总是在这一行得到错误:

WebResponse response = request.GetResponse();

我已经这样做了: Package manager in Visual Studio 2015 "407 (Proxy Authentication Required)"

我尝试配置我的App.config文件

 <?xml version="1.0" encoding="utf-8" ?>
 <configuration>
     <system.net>
         <defaultProxy useDefaultCredentials="true" />
     </system.net>
 </configuration>

1 个答案:

答案 0 :(得分:2)

在我们的公司网络中,我们通常使用此代码:

        WebProxy proxy = new WebProxy("http://your.proxy.server:8080", true);
        proxy.Credentials = new NetworkCredential("user", "password");
        WebRequest.DefaultWebProxy = proxy;

您的想法是将此代码放在程序开头的某个位置(如果您在IIS上,则在应用程序启动时),然后每个请求都将采用默认代理配置。

无需更改web.config。 AFAICT,在web.config中,您无法设置凭据。

根据我的经验,它也适用于Web服务和WCF通信。