.NET HttpClient の既定のプロキシには DefaultProxyCredentials を使う
既定の検出には DefaultProxyCredentials、明示的なプロキシには WebProxy.Credentials、送信先サーバーにのみ UseDefaultCredentials を使います。
ランタイムの既定のプロキシ選択を現在のセキュリティ コンテキストで行うには:
var handler = new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = null,
DefaultProxyCredentials =
System.Net.CredentialCache.DefaultCredentials
};
var client = new System.Net.Http.HttpClient(handler);DefaultProxyCredentials は、示された厳密な条件の下で適用されます。すなわち UseProxy = true と Proxy = null です。既定のポリシーは依然として仲介者を選びます。
| 認証の受け取り先 | 入力 |
|---|---|
| 既定/検出されたプロキシ | HttpClientHandler.DefaultProxyCredentials |
| 明示的な WebProxy オブジェクト | そのオブジェクトの Credentials |
| 送信先サーバー | HttpClientHandler.UseDefaultCredentials |
これらの似た名前の入力は相互に置き換えられません。ハンドラーは最初の要求の前に設定し、そのクライアントをワークロードのために保持します。
プロキシは、両端が対応するスキームでアカウントを受け入れる必要があります。サービスの現在の ID は、既にブラウザーが動作している対話ユーザーと異なる場合があります。