5

接続をプロキシするにはどうすればよいですか? プロキシを通過しない 3 つのデフォルト HttpWebRequest obj と、プロキシを通過する別の 3 つが必要です。WebRequestObject.Proxy = myProxy; を実行しますか? オブジェクトでプロキシを使用したいのですが、3つのオブジェクトで何もしませんか? また、オブジェクトは未知の順序で初期化されるため、2 つがプロキシされ、2 つがプロキシされ、3 つ目がそうではなく、最後がそうである可能性があります。単に .Proxy = myProxy と書いているだけですか?

4

3 に答える 3

10

プロキシを必要とするリクエストの場合、はい、問題なく動作します:

request.Proxy = myProxy;

プロキシをバイパスしたいリクエストの場合、次を使用します。

request.Proxy = System.Net.GlobalProxySelection.GetEmptyWebProxy;

IE のデフォルト プロキシを使用する場合 (または app/web.config でデフォルト プロキシを設定している場合) は、単にプロキシを設定しないか、null に設定します。

request.Proxy = null;

可能な HttpWebRequest.Proxy 値の詳細についてはこちら、GetEmptyWebProxy はこちらをご覧ください。

于 2009-04-14T21:04:16.317 に答える
3

System.Net.GlobalProxySelection.GetEmptyWebProxy は非推奨になりました。

この状況で終わってしまった

    private static void SetProxy(HttpWebRequest request)
    {
        if (AppConstants.UseProxyCredentials)
        {
            //request.Proxy = available in System.Net configuration settings
            request.Proxy.Credentials = Credentials.GetProxyCredentials();
        }
        else
        {
            request.Proxy = null;
            //request.Proxy.Credentials = n/a
        }
    }

web.config でプロキシの詳細を使用する場合:

<system.net>
  <defaultProxy>
    <proxy
      autoDetect="False"
      bypassonlocal="True"
      scriptLocation="http://www.proxyscript..."
      proxyaddress="http://proxyurl..." />
  </defaultProxy>
</system.net>
<system.web>
于 2009-07-17T02:14:36.277 に答える
2

はい、プロキシしたいリクエストのプロパティごとに新しいプロキシオブジェクトを作成し、行ったものについては空白のままにします。設定しないものについては、app.config の system.net 構成のデフォルトのプロキシ値が使用されます。

于 2009-04-14T20:48:16.183 に答える