.Net WebRequestを使用して、IEオプションのプロキシ自動構成(PAC)を期待どおりに機能させるのに問題があります。
この記事によると:
プロキシ検出は、.NETの自動構成でユーザーの負担を軽減します
システムプロキシは、デフォルトで各WebRequestに設定する必要があります。
proxy.jspacファイルは次のようになります。
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
自動構成スクリプトを使用している場合にのみ発生します...
私は何かを逃しましたか?助けてください!