.NET 2.0以降、これを行う必要はありません。WebリクエストでProxyプロパティを明示的に設定しない場合、静的WebRequest.DefaultWebProxyの値が使用されます。後続のすべてのWebRequestで使用されているプロキシを変更する場合は、この静的DefaultWebProxyプロパティを設定できます。
WebRequest.DefaultWebProxyのデフォルトの動作は、InternetExplorerで使用されるものと同じ基本設定を使用することです。
現在のユーザーとは異なるプロキシ設定を使用する場合は、コーディングする必要があります
WebRequest webRequest = WebRequest.Create("http://stackoverflow.com/");
webRequest.Proxy = new WebProxy("http://proxyserver:80/",true);
また
WebRequest.DefaultWebProxy = new WebProxy("http://proxyserver:80/",true);
また、プロキシのオブジェクトモデルには、宛先のホスト名に応じてプロキシが異なる可能性があるという概念が含まれていることを覚えておく必要があります。これにより、webRequest.Proxyのプロパティをデバッグおよびチェックするときに、少し混乱する可能性があります。電話
webRequest.Proxy.GetProxy(new Uri("http://google.com.au"))
使用されるプロキシサーバーの実際の詳細を確認します。
プロキシの使用を設定できるかどうか、webRequest.Proxy
または使用を防ぐことができるかどうかについては、いくつかの議論があるようです。WebRequest.DefaultWebProxy = null
これは私にとっては問題なく機能するようですnew DefaultProxy()
が、必要な動作を取得するためにパラメーターなしで設定することができます。確認すべきもう1つの点は、アプリケーション構成ファイルにプロキシ要素が存在する場合、.NETFrameworkはInternetExplorerのプロキシ設定を使用しないことです。
MSDN Magazineの記事「.NETの自動構成でユーザーの負担を軽減する」では、内部で何が起こっているかについて詳しく説明しています。