HttpClientHandler HttpClientHandler HttpClientHandler HttpClientHandler Class

定義

.NET Framework および .NET Core 2.0 以前の HttpClient で使用される既定のメッセージ ハンドラー。The default message handler used by HttpClient in .NET Framework and .NET Core 2.0 and earlier.

public ref class HttpClientHandler : System::Net::Http::HttpMessageHandler
public class HttpClientHandler : System.Net.Http.HttpMessageHandler
type HttpClientHandler = class
    inherit HttpMessageHandler
Public Class HttpClientHandler
Inherits HttpMessageHandler
継承
HttpClientHandlerHttpClientHandlerHttpClientHandlerHttpClientHandler
派生

static async Task Main()
{
   // Create an HttpClientHandler object and set to use default credentials
   HttpClientHandler handler = new HttpClientHandler();
   handler.UseDefaultCredentials = true;

   // Create an HttpClient object
   HttpClient client = new HttpClient(handler);

   // Call asynchronous network methods in a try/catch block to handle exceptions
   try	
   {
      HttpResponseMessage response = await client.GetAsync("http://www.contoso.com/");

      response.EnsureSuccessStatusCode();

      string responseBody = await response.Content.ReadAsStringAsync();
      Console.WriteLine(responseBody);
   }  
   catch(HttpRequestException e)
   {
       Console.WriteLine("\nException Caught!");	
       Console.WriteLine("Message :{0} ",e.Message);
   }

   // Need to call dispose on the HttpClient and HttpClientHandler objects 
   // when done using them, so the app doesn't leak resources
   handler.Dispose(true);
   client.Dispose(true);
}

上記のコード例では、async Task Main()エントリ ポイント。The preceding code example uses an async Task Main() entry point. C# 7.1 以降その機能が必要です。That feature requires C# 7.1 or later.

注釈

HttpClientHandlerクラスとその派生クラスは、開発者はさまざまなプロキシ認証に至るまで、オプションの構成を有効にします。The HttpClientHandler class and classes derived from it enable developers to configure a variety of options ranging from proxies to authentication.

.NET Core で HttpClientHandlerHttpClientHandler in .NET Core

.NET Core 2.1 では、以降、System.Net.Http.SocketsHttpHandlerクラスの代わりにHttpClientHandler上位レベルの HTTP ネットワーク Api で使用される実装を提供します。Starting with .NET Core 2.1, the System.Net.Http.SocketsHttpHandler class instead of HttpClientHandler provides the implementation used by higher-level HTTP networking APIs. 使用するアプリケーションを構成するHttpClientHandler代わりに、次の方法のいずれかで。You can configure your application to use HttpClientHandler instead in any of the following ways:

  • 呼び出すことによって、AppContext.SetSwitchメソッドとして、次のとおりです。By calling the AppContext.SetSwitch method as follows:

    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", false);
    
    AppContext.SetSwitch("System.Net.Http.UseSocketsHttpHandler", False)
    
  • 定義することで、System.Net.Http.UseSocketsHttpHandlerに切り替え、 . netcore.runtimeconfig.json構成ファイル。By defining the System.Net.Http.UseSocketsHttpHandler switch in the .netcore.runtimeconfig.json configuration file:

    "runtimeOptions": {
      "configProperties": {
          "System.Net.Http.UseSocketsHttpHandler": false
      }
    }
    
  • という名前の環境変数を定義することでDOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLERいずれかに設定してfalseまたは 0。By defining an environment variable named DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER and setting it to either false or 0.

コンストラクター

HttpClientHandler() HttpClientHandler() HttpClientHandler() HttpClientHandler()

HttpClientHandler クラスのインスタンスを作成します。Creates an instance of a HttpClientHandler class.

プロパティ

AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect AllowAutoRedirect

ハンドラーがリダイレクト応答に従うかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the handler should follow redirection responses.

AutomaticDecompression AutomaticDecompression AutomaticDecompression AutomaticDecompression

HTTP コンテンツ応答を自動展開するためにハンドラーによって使用される展開メソッドの種類を取得または設定します。Gets or sets the type of decompression method used by the handler for automatic decompression of the HTTP content response.

CheckCertificateRevocationList CheckCertificateRevocationList CheckCertificateRevocationList CheckCertificateRevocationList

証明書が証明機関の失効リストに対して照合されるかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the certificate is checked against the certificate authority revocation list.

ClientCertificateOptions ClientCertificateOptions ClientCertificateOptions ClientCertificateOptions

証明書を自動的に証明書ストアから取得するか、または呼び出し元が特定のクライアント証明書を渡すことを許可するかを示す値を、取得または設定します。Gets or sets a value that indicates if the certificate is automatically picked from the certificate store or if the caller is allowed to pass in a specific client certificate.

ClientCertificates ClientCertificates ClientCertificates ClientCertificates

サーバーに関連付けられている要求であるセキュリティ証明書のコレクションを取得します。Gets the collection of security certificates that are associated requests to the server.

CookieContainer CookieContainer CookieContainer CookieContainer

サーバーの Cookie を保存するためにハンドラーによって使用されるコンテナーを取得または設定します。Gets or sets the cookie container used to store server cookies by the handler.

Credentials Credentials Credentials Credentials

このハンドラーで使用する認証情報を取得または設定します。Gets or sets authentication information used by this handler.

DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator DangerousAcceptAnyServerCertificateValidator

常に true を返すキャッシュされたデリゲートを取得します。Gets a cached delegate that always returns true.

DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials DefaultProxyCredentials

既定の (システム) プロキシが使用されている場合、認証のために既定のプロキシ サーバーに送信するための資格情報を取得または設定します。When the default (system) proxy is being used, gets or sets the credentials to submit to the default proxy server for authentication. 既定のプロキシは、UseProxytrue に設定され、Proxynull に設定されている場合にのみ使用されます。The default proxy is used only when UseProxy is set to true and Proxy is set to null.

MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections MaxAutomaticRedirections

ハンドラーがフォローするリダイレクトの最大数を取得または設定します。Gets or sets the maximum number of redirects that the handler follows.

MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer MaxConnectionsPerServer

HttpClient オブジェクトを使用して要求を行うときに許可される (サーバー エンドポイントあたりの) コンカレント接続の最大数を取得または設定します。Gets or sets the maximum number of concurrent connections (per server endpoint) allowed when making requests using an HttpClient object. サーバー エンドポイントあたりの制限に注意してください。たとえば、値 256 は http://www.adatum.com/ に対して 256 のコンカレント接続数を許可し、http://www.adventure-works.com/ に対してさらに 256 のコンカレント接続数を許可します。Note that the limit is per server endpoint, so for example a value of 256 would permit 256 concurrent connections to http://www.adatum.com/ and another 256 to http://www.adventure-works.com/.

MaxRequestContentBufferSize MaxRequestContentBufferSize MaxRequestContentBufferSize MaxRequestContentBufferSize

ハンドラーによって使用される最大要求コンテンツ バッファー サイズを取得または設定します。Gets or sets the maximum request content buffer size used by the handler.

MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength MaxResponseHeadersLength

応答ヘッダーの最大長 (KB 単位、1 KB = 1024 バイト) を取得または設定します。Gets or sets the maximum length, in kilobytes (1024 bytes), of the response headers. たとえば、値が 64 の場合、応答ヘッダーの最大長に 65536 バイトが許可されます。For example, if the value is 64, then 65536 bytes are allowed for the maximum response headers' length.

PreAuthenticate PreAuthenticate PreAuthenticate PreAuthenticate

ハンドラーが要求と共に認証ヘッダーを送信するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the handler sends an Authorization header with the request.

Properties Properties Properties Properties

HttpClient 要求のカスタム プロパティの書き込み可能なディクショナリ (マップ) を取得します。Gets a writable dictionary (that is, a map) of custom properties for the HttpClient requests. ディクショナリが初期化されて空になると、カスタム ハンドラーと特殊な処理のキーと値のペアを挿入してクエリを実行できます。The dictionary is initialized empty; you can insert and query key-value pairs for your custom handlers and special processing.

Proxy Proxy Proxy Proxy

ハンドラーで使用するプロキシ情報を取得または設定します。Gets or sets proxy information used by the handler.

ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback ServerCertificateCustomValidationCallback

サーバー証明書を検証するコールバック メソッドを取得または設定します。Gets or sets a callback method to validate the server certificate.

SslProtocols SslProtocols SslProtocols SslProtocols

HttpClientHandler オブジェクトによって管理される HttpClient オブジェクトが使用する TLS/SSL プロトコルを取得または設定します。Gets or sets the TLS/SSL protocol used by the HttpClient objects managed by the HttpClientHandler object.

SupportsAutomaticDecompression SupportsAutomaticDecompression SupportsAutomaticDecompression SupportsAutomaticDecompression

ハンドラーが自動応答のコンテンツ展開をサポートするかどうかを示す値を取得します。Gets a value that indicates whether the handler supports automatic response content decompression.

SupportsProxy SupportsProxy SupportsProxy SupportsProxy

ハンドルがプロキシ設定をサポートしているかどうかを示す値を取得します。Gets a value that indicates whether the handler supports proxy settings.

SupportsRedirectConfiguration SupportsRedirectConfiguration SupportsRedirectConfiguration SupportsRedirectConfiguration

ハンドラーが AllowAutoRedirect および MaxAutomaticRedirections プロパティの構成設定をサポートするかどうかを示す値を取得します。Gets a value that indicates whether the handler supports configuration settings for the AllowAutoRedirect and MaxAutomaticRedirections properties.

UseCookies UseCookies UseCookies UseCookies

ハンドラーが CookieContainer プロパティを使用してサーバーの Cookie を保存し、要求の送信時にそれらの Cookie を使用するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the handler uses the CookieContainer property to store server cookies and uses these cookies when sending requests.

UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials UseDefaultCredentials

既定の資格情報がハンドラーによる要求と共に送信されるかどうかを制御する値を取得または設定します。Gets or sets a value that controls whether default credentials are sent with requests by the handler.

UseProxy UseProxy UseProxy UseProxy

ハンドラーが要求のプロキシを使用するかどうかを示す値を取得または設定します。Gets or sets a value that indicates whether the handler uses a proxy for requests.

メソッド

Dispose() Dispose() Dispose() Dispose()

HttpMessageHandler が使用しているアンマネージド リソースを解放し、マネージド リソースを破棄します。Releases the unmanaged resources and disposes of the managed resources used by the HttpMessageHandler.

(Inherited from HttpMessageHandler)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

HttpClientHandler が使用しているアンマネージド リソースを解放します。オプションとして、マネージド リソースを破棄することもできます。Releases the unmanaged resources used by the HttpClientHandler and optionally disposes of the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken) SendAsync(HttpRequestMessage, CancellationToken)

HttpRequestMessage で提供される情報に基づいて、ブロックしない操作として HttpResponseMessage のインスタンスを作成します。Creates an instance of HttpResponseMessage based on the information provided in the HttpRequestMessage as an operation that will not block.

ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象

こちらもご覧ください