System.Net.Http Namespace

System.Net.Http 名前空間は、最新の HTTP アプリケーション用のプログラミング インターフェイスを提供します。 The System.Net.Http namespace provides a programming interface for modern HTTP applications.



バイト配列に基づいて HTTP コンテンツを提供します。Provides HTTP content based on a byte array.


内部ハンドラーと呼ばれる、別のハンドラーへ HTTP 応答メッセージの処理をデリゲートする HTTP ハンドラーの型。A type for HTTP handlers that delegate the processing of HTTP response messages to another handler, called the inner handler.


application/x-www-form-urlencoded MIME 型を使用してエンコードされた名前と値の組のコンテナー。A container for name/value tuples encoded using application/x-www-form-urlencoded MIME type.


URI で識別されるリソースに HTTP 要求を送信し、そのリソースから HTTP 応答を受信するための基本クラスを提供します。Provides a base class for sending HTTP requests and receiving HTTP responses from a resource identified by a URI.


Extensions methods for IHttpClientFactory.


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


HTTP エンティティ本体およびコンテンツ ヘッダーを表す基本クラス。A base class representing an HTTP entity body and content headers.


HTTP メッセージ ハンドラーの基本データ型。A base type for HTTP message handlers.


Extensions methods for IHttpMessageHandlerFactory.


アプリケーションが HTTP ハンドラー チェーンに対して SendAsync(HttpRequestMessage, CancellationToken) メソッドを呼び出せるようにする専用クラス。A specialty class that allows applications to call the SendAsync(HttpRequestMessage, CancellationToken) method on an HTTP handler chain.


標準的な HTTP メソッドの取得と比較を行い、新しい HTTP メソッドを作成するためのヘルパー クラス。A helper class for retrieving and comparing standard HTTP methods and for creating new HTTP methods.


HttpClientHttpMessageHandler クラスによってスローされる例外の基本クラス。A base class for exceptions thrown by the HttpClient and HttpMessageHandler classes.


HTTP 要求メッセージを表します。Represents a HTTP request message.


ステータス コードとデータを含む HTTP 応答メッセージを表します。Represents a HTTP response message including the status code and data.


要求と応答メッセージの小規模な処理のみをするハンドラーの基本型。A base type for handlers which only do some small processing of request and/or response messages.


multipart/* のコンテンツ タイプの指定を使用してシリアル化される HttpContent オブジェクトのコレクションを提供します。Provides a collection of HttpContent objects that get serialized using the multipart/* content type specification.


マルチパート/フォーム データの MIME タイプを使用してエンコードされたコンテンツのコンテナーを提供します。Provides a container for content encoded using multipart/form-data MIME type.


Xamarin スタックを使用する Apple プラットフォーム (iOS、macOS、watchOS、tvOS) の  HttpClient  によって使用される既定のメッセージ ハンドラーThe default message handler used by HttpClient on Apple platforms using the Xamarin stack (iOS, macOS, watchOS, tvOS)


.NET Core 2.1 以降の HttpClient で使用される既定のメッセージ ハンドラーを提供します。Provides the default message handler used by HttpClient in .NET Core 2.1 and later.


ストリームに基づいて HTTP コンテンツを提供します。Provides HTTP content based on a stream.


文字列に基づいて HTTP コンテンツを提供します。Provides HTTP content based on a string.


Windows ストア アプリや他の環境では利用できないデスクトップ固有の機能を提供します。Provides desktop-specific features not available to Windows Store apps or other environments.


WinHttpHandler は Windows の WinHTTP インターフェイスに基づく特殊なメッセージ ハンドラーであり、サーバー環境で使うことを意図されています。WinHttpHandler is a specialty message handler based on the WinHTTP interface of Windows and is intended for use in server environments. このクラスは、NuGet パッケージとしてインストールすることにより、デスクトップ アプリでも使用可能です。This class is also available for use in Desktop apps by installing it as a NuGet package. デスクトップ アプリで使うためのこのクラスのインストールについて詳しくは、System.Net.Http.WinHttpHandler をご覧ください。For more information about installing this class for use in Desktop apps, see System.Net.Http.WinHttpHandler.



A factory abstraction for a component that can create HttpClient instances with custom configuration for a given logical name.


A factory abstraction for a component that can create HttpMessageHandler instances with custom configuration for a given logical name.



クライアント証明書がどのように提供されるかを指定します。Specifies how client certificates are provided.


この列挙型では、サーバーと通信するとき、HTTP Cookie を制御できます。This enumeration allows control of HTTP cookies when communicating with the server.


応答が使用できるようになった場合に HttpClient 操作が完了したと見なすか、内容を含む応答メッセージ全体を読み取った後に完了したと見なすかを示します。Indicates if HttpClient operations should be considered completed either as soon as a response is available, or after reading the entire response message including the content.


この列挙型は、Windows で実行されるときに HttpClient によって使われるプロキシ設定に使うことができるオプションを提供します。This enumeration provides available options for the proxy settings used by an HttpClient when running on Windows.


System.Net.Http名前空間は、次を提供する設計されています。The System.Net.Http namespace is designed to provide the following:

  1. HTTP 経由で最新の web サービスを使用するようにすることが HTTP クライアント コンポーネント。HTTP client components that allow users to consume modern web services over HTTP.

  2. 使用できる HTTP コンポーネント クライアントとサーバー (HTTP ヘッダーと例については、メッセージ) の両方でします。HTTP components that can be used by both clients and servers (HTTP headers and messages, for example). これは、一貫性のあるプログラミング モデル、クライアントとサーバー側の両方で最新の web サービスの HTTP 経由の提供します。This provides a consistent programming model on both the client and the server side for modern web services over HTTP.

System.Net.Http名前空間と、関連System.Net.Http.Headers名前空間は、次のコンポーネントのセットを提供します。The System.Net.Http namespace and the related System.Net.Http.Headers namespace provide the following set of components:

  1. HttpClient -主要なクラスを送信して、HTTP 経由で要求を受信するために使用します。HttpClient - the primary class used to send and receive requests over HTTP.

  2. HttpRequestMessage HttpResponseMessage -HTTP メッセージのように、IETF によって RFC 2616 で定義します。HttpRequestMessage and HttpResponseMessage - HTTP messages as defined in RFC 2616 by the IETF.

  3. HttpHeaders HTTP ヘッダー、IETF によって RFC 2616 で定義されているようです。HttpHeaders - HTTP headers as defined in RFC 2616 by the IETF.

  4. HttpClientHandler HTTP ハンドラーが HTTP 応答メッセージの生成を担当します。HttpClientHandler - HTTP handlers responsible for producing HTTP response messages.

使用できるさまざまな HTTP メッセージ ハンドルがあります。There are various HTTP message handles that can be used. これらは、次に示します。These include the following.

  1. DelegatingHandler -クラスでは、ハンドラー チェーンにハンドラーを接続するために使用します。DelegatingHandler - A class used to plug a handler into a handler chain.

  2. HttpMessageHandler ほとんどのアプリケーションの最も一般的な要件をサポートするクラスから派生する-簡単です。HttpMessageHandler - A simple to class to derive from that supports the most common requirements for most applications.

  3. HttpClientHandler -は実際には、HTTP トランスポートの操作を処理するハンドラー チェーンの下で動作するクラス。HttpClientHandler - A class that operates at the bottom of the handler chain that actually handles the HTTP transport operations.

  4. WebRequestHandler -に固有のオプションを使用して HTTP トランスポートの操作を処理するハンドラー チェーン クラスの下で動作する特殊クラス、System.Net.HttpWebRequestオブジェクト。WebRequestHandler - A specialty class that operates at the bottom of the handler chain class that handles HTTP transport operations with options that are specific to the System.Net.HttpWebRequest object.

HTTP メッセージの内容は、RFC 2616 で定義されているエンティティ ボディに対応します。The contents of an HTTP message corresponds to the entity body defined in RFC 2616.

クラスの数は、HTTP コンテンツを使用できます。A number of classes can be used for HTTP content. これらは、次に示します。These include the following.

  1. ByteArrayContent -に基づく HTTP コンテンツをバイト配列。ByteArrayContent - HTTP content based on a byte array.

  2. FormUrlEncodedContent 名前/値の組の HTTP コンテンツは、アプリケーション/x-www-form-urlencoded MIME の種類を使用してエンコードされます。FormUrlEncodedContent - HTTP content of name/value tuples encoded using application/x-www-form-urlencoded MIME type.

  3. MultipartContent 、マルチパートを使用してシリアル化され HTTP コンテンツ/* コンテンツ タイプの指定。MultipartContent - HTTP content that gets serialized using the multipart/* content type specification.

  4. MultipartFormDataContent HTTP コンテンツは、マルチパート/フォーム データの MIME の種類を使用してエンコードされます。MultipartFormDataContent - HTTP content encoded using the multipart/form-data MIME type.

  5. StreamContent -に基づく HTTP コンテンツ ストリーム。StreamContent - HTTP content based on a stream.

  6. StringContent -に基づく HTTP コンテンツを文字列。StringContent - HTTP content based on a string.

使用して、アプリの場合、System.Net.HttpSystem.Net.Http.Headers名前空間が、大量のデータ (50 メガバイトまたはそれ以上) をダウンロードしようとしています。 その後、アプリのダウンロードのストリームと既定のバッファリングを使用しない必要があります。If an app using the System.Net.Http and System.Net.Http.Headers namespaces intends to download large amounts of data (50 megabytes or more), then the app should stream those downloads and not use the default buffering. 既定のバッファリングを使用する場合は、クライアントのメモリ使用量が非常に大きな取得、パフォーマンスが低下するためになる可能性があります。If the default buffering is used the client memory usage will get very large, potentially resulting in substantially reduced performance.

クラス、System.Net.HttpSystem.Net.Http.Headers名前空間は、Windows ストア アプリまたはデスクトップ アプリを開発に使用できます。Classes in the System.Net.Http and System.Net.Http.Headers namespaces can be used to develop Windows Store apps or desktop apps. クラスでの Windows ストア アプリで使用する場合、System.Net.HttpSystem.Net.Http.Headers名前空間がによって使用されるアプリケーションのセキュリティ モデルの一部であるネットワーク分離機能によって影響を受ける、Windows 8Windows 8します。When used in a Windows Store app, classes in the System.Net.Http and System.Net.Http.Headers namespaces are affected by network isolation feature, part of the application security model used by the Windows 8Windows 8. システムがネットワーク アクセスを許可するため、Windows ストア アプリでの Windows ストア アプリのアプリ マニフェストでは、適切なネットワーク機能を有効にする必要があります。The appropriate network capabilities must be enabled in the app manifest for a Windows Store app for the system to allow network access by a Windows store app. 詳細については、「Network Isolation for Windows Store Apps (Windows ストア アプリのネットワークの分離)」をご覧ください。For more information, see the Network Isolation for Windows Store Apps.