.NET に URL に対してどのプロキシを使うかを尋ねる
特定の宛先に対する既定のプロキシ選択を確認します。バイパスの判断と明示的な HttpClient の上書きも含みます。
失敗する正確な URL について既定のポリシーに尋ねます:
var destination = new Uri("https://example.com/");
var proxy = HttpClient.DefaultProxy;
Console.WriteLine(proxy.IsBypassed(destination));
Console.WriteLine(proxy.GetProxy(destination));名前空間 System と System.Net.Http を使用します。返されたプライベートなエンドポイント情報は公開ログに出さないでください。
| 観察 | 意味 |
|---|---|
IsBypassed(destination) | このポリシーがその URL に対して直接ルーティングを選ぶかどうか。 |
GetProxy(destination) | ポリシーの結果; WebProxy は元の宛先を返すことがあります バイパスされた場合。 |
| 失敗しているクライアントを介した実際の要求 | 選択された経路が使用可能だったかどうかの証拠。 |
| 宛先側の送信元アドレスレポート | その要求で観察された出口。 |
HttpClient.DefaultProxy は、ハンドラーに明示的なプロキシ構成がない場合に既定のルーティングを提供し、その初期化はプラットフォームに依存します。別の 割り当てられたプロキシまたは無効化されたプロキシ使用 は異なる選択をする可能性があります。新しい診断クライアントだけでなく、実際のハンドラーを確認してください。
サービスは別のユーザー環境で実行されることもあります。対話型アプリケーションと比較するときは、選択されたプロキシ、バイパスの判断、要求の結果を分けて保持してください。このコードは宛先への接続を開かず、出口 IP も測定しません。必要に応じて、同じクライアントと同じ経路でそのような証拠を収集してください。