我想向资源发出请求(该资源在代理后面)。我也有代理地址和端口。我试过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>
答案 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通信。