我遇到了麻烦代理自动配置(PAC)在IE选项使用。NET的WebRequest预期工作。
根据这篇文章:
代理检测要考虑与自动配置.NET中的负担关用户
该系统代理应该默认与每个WebRequest的设置。
那是的proxy.js PAC文件的样子:
function FindProxyForURL(url, host)
{
return "PROXY ProxyServerName:3118; DIRECT;";
}
我也看了看这个帖子: 我应该如何设置使用默认凭据的默认代理?
这表明在app.config中添加此:
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
添加此并没有帮助。
我创建了一个小型控制台应用程序只是为了测试这一点..这就是:
static void Main(string[] args)
{
HttpWebRequest request = null;
try
{
String resolvedAddress = WebRequest.DefaultWebProxy.GetProxy(new Uri("http://www.google.com")).ToString();
Console.WriteLine("Proxy for address is: " + resolvedAddress);
Uri m_URLToTest = new Uri("http://www.google.com");
request = WebRequest.Create(m_URLToTest) as HttpWebRequest;
request.Method = "GET";
request.KeepAlive = false;
request.Timeout = 5000;
request.Proxy = WebRequest.DefaultWebProxy;
WebResponse response = request.GetResponse();
StreamReader reader = new StreamReader(response.GetResponseStream());
string message = reader.ReadToEnd();
}
catch (Exception ex)
{
Console.Write("Exception");
}
}
输出:代理的地址是http://www.google.com
而不是代理的地址是ProxyServerName:3118
它使用自动配置脚本,只有当发生...
我错过了什么? 请帮忙!