12

.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

自動構成スクリプトを使用している場合にのみ発生します...

私は何かを逃しましたか?助けてください!

4

2 に答える 2

9

解決策を見つけました!

PAC ファイルの MIME タイプが [Content-type: application/x-ns-proxy-autoconfig] であることが非常に重要です。

他の MIME タイプが機能しない場合があります。

fiddler2 (キャッシュを無効にして) を使用して、MIME タイプが適切であることを確認してください。一部の構成では Content-Type: text/plain が表示される場合がありますが、これは不適切です。

于 2012-11-26T09:54:46.407 に答える
0

Internet (Client & Server)でと のPrivate Networks (Client & Server)機能がチェックされていることを確認してくださいPackage.appxmanifest

これを見る

[ソース]

于 2015-10-08T06:12:36.340 に答える