System.Net.Http 名前空間
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
最新の HTTP アプリケーション用のプログラミング インターフェイスを提供します。
クラス
| 名前 | 説明 |
|---|---|
| ByteArrayContent |
バイト配列に基づいて HTTP コンテンツを提供します。 |
| DelegatingHandler |
HTTP 応答メッセージの処理を、内部ハンドラーと呼ばれる別のハンドラーに委任する HTTP ハンドラーの型。 |
| FormUrlEncodedContent |
application/x-www-form-urlencoded MIME タイプを使用してエンコードされた名前/値タプルのコンテナー。 |
| HttpClient |
URI によって識別されるリソースから HTTP 要求を送信し、HTTP 応答を受信するためのクラスを提供します。 |
| HttpClientFactoryExtensions |
IHttpClientFactoryの Extensions メソッド。 |
| HttpClientHandler |
.NET Framework および .NET Core 2.0 以前の HttpClient で使用される既定のメッセージ ハンドラー。 |
| HttpContent |
HTTP エンティティ本体とコンテンツ ヘッダーを表す基本クラス。 |
| HttpDiagnosticsHttpRequestMessageExtensions |
テレメトリ ユーティリティの拡張機能。 |
| HttpIOException |
応答の読み取り中にエラーが発生したときにスローされる例外。 |
| HttpMessageHandler |
HTTP メッセージ ハンドラーの基本型。 |
| HttpMessageHandlerFactoryExtensions |
IHttpMessageHandlerFactoryの Extensions メソッド。 |
| HttpMessageInvoker |
アプリケーションが HTTP ハンドラー チェーンで SendAsync(HttpRequestMessage, CancellationToken) メソッドを呼び出すことを許可する特殊なクラス。 |
| HttpMethod |
標準の HTTP メソッドを取得および比較し、新しい HTTP メソッドを作成するためのヘルパー クラス。 |
| HttpProtocolException |
HTTP/2 または HTTP/3 プロトコル エラーが発生したときにスローされる例外。 |
| HttpRequestException |
HttpClient および HttpMessageHandler クラスによってスローされる例外の基本クラス。 |
| HttpRequestMessage |
HTTP 要求メッセージを表します。 |
| HttpRequestOptions |
HTTP 要求のオプションのコレクションを表します。 |
| HttpResilienceHttpRequestMessageExtensions |
HttpRequestMessageの回復性拡張機能。 |
| HttpResponseMessage |
状態コードとデータを含む HTTP 応答メッセージを表します。 |
| MessageProcessingHandler |
要求メッセージまたは応答メッセージの小さな処理のみを実行するハンドラーの基本型。 |
| MultipartContent |
multipart/* コンテンツ タイプ仕様を使用してシリアル化される HttpContent オブジェクトのコレクションを提供します。 |
| MultipartFormDataContent |
マルチパート/フォーム データ MIME タイプを使用してエンコードされたコンテンツのコンテナーを提供します。 |
| ReadOnlyMemoryContent |
ReadOnlyMemory<T>に基づいて HTTP コンテンツを提供します。 |
| RtcRequestFactory |
最新の HTTP アプリケーション用のプログラミング インターフェイスを提供します。 |
| SocketsHttpConnectionContext |
SocketsHttpHandler インスタンスのConnectCallbackに渡されるコンテキストを表します。 . |
| SocketsHttpHandler |
.NET Core 2.1 以降で HttpClient によって使用される既定のメッセージ ハンドラーを提供します。 |
| SocketsHttpPlaintextStreamFilterContext |
SocketsHttpHandler インスタンスの PlaintextStreamFilter に渡されるコンテキストを表します。 |
| StreamContent |
ストリームに基づいて HTTP コンテンツを提供します。 |
| StringContent |
文字列に基づいて HTTP コンテンツを提供します。 |
| WebRequestHandler |
Windows ストア アプリやその他の環境では使用できないデスクトップ固有の機能を提供します。 |
| WinHttpHandler |
Windows の WinHTTP インターフェイスに基づいてメッセージを処理します。 このクラスは、サーバー環境での使用を目的としています。 |
構造体
| 名前 | 説明 |
|---|---|
| HttpRequestOptionsKey<TValue> |
HTTP 要求のオプション コレクション内のキーを表します。 |
インターフェイス
| 名前 | 説明 |
|---|---|
| IHttpClientFactory |
特定の論理名のカスタム構成を使用して HttpClient インスタンスを作成できるコンポーネントのファクトリ抽象化。 |
| IHttpMessageHandlerFactory |
特定の論理名のカスタム構成を使用して HttpMessageHandler インスタンスを作成できるコンポーネントのファクトリ抽象化。 |
列挙型
| 名前 | 説明 |
|---|---|
| ClientCertificateOption |
クライアント証明書を提供する方法を指定します。 |
| CookieUsePolicy |
この列挙により、サーバーとの通信時に HTTP Cookie を制御できます。 |
| HttpCompletionOption |
応答が使用可能になるとすぐに、またはコンテンツを含む応答メッセージ全体を読み取った後に、HttpClient 操作を完了と見なす必要があるかどうかを示します。 |
| HttpKeepAlivePingPolicy |
アイドル接続で HTTP/2 ping フレームを送信するタイミングを指定します。 |
| HttpRequestError |
HttpRequestException または HttpIOExceptionの理由を表すエラー カテゴリを定義します。 |
| HttpVersionPolicy |
要求の HTTP バージョンを選択してネゴシエートするための動作を指定します。 |
| WindowsProxyUsePolicy |
この列挙体は、Windows で実行するときに HttpClient によって使用されるプロキシ設定に使用できるオプションを提供します。 |
代理人
| 名前 | 説明 |
|---|---|
| HeaderEncodingSelector<TContext> |
ヘッダー値を解釈するときに使用するエンコードを指定するメソッドを表します。 |
注釈
System.Net.Http名前空間は、次のコンポーネントを提供するように設計されています。
- ユーザーが HTTP 経由で最新の Web サービスを使用できるようにする HTTP クライアント コンポーネント。
- クライアントとサーバーの両方で使用できる HTTP コンポーネント (HTTP ヘッダーやメッセージなど)。 これにより、HTTP 経由の最新の Web サービスのクライアント側とサーバー側の両方で一貫したプログラミング モデルが提供されます。
System.Net.Http名前空間と関連するSystem.Net.Http.Headers名前空間には、次のコンポーネントのセットが用意されています。
- HttpClient - HTTP 経由で要求を送受信するために使用されるプライマリ クラス。
- HttpRequestMessage および HttpResponseMessage - IETF の RFC 2616 で定義されている HTTP メッセージ。
- HttpHeaders - IETF によって RFC 2616 で定義されている HTTP ヘッダー。
- HttpClientHandler - HTTP 応答メッセージの生成を担当する HTTP ハンドラー。
使用できるさまざまな HTTP メッセージ ハンドラーがあります。
- DelegatingHandler - ハンドラーをハンドラー チェーンにプラグインするために使用されるクラス。
- HttpMessageHandler - そこから派生する単純なクラスは、ほとんどのアプリケーションで最も一般的な要件をサポートします。
- HttpClientHandler - HTTP トランスポート操作を実際に処理するハンドラー チェーンの下部で動作するクラス。
HTTP メッセージの内容は、RFC 2616 で定義されているエンティティ本体に対応します。
HTTP コンテンツには、次のクラスを使用できます。
- ByteArrayContent - バイト配列に基づく HTTP コンテンツ。
- FormUrlEncodedContent - application/x-www-form-urlencoded MIME タイプを使用してエンコードされた名前/値タプルの HTTP コンテンツ。
- MultipartContent - マルチパート/* コンテンツ タイプ仕様を使用してシリアル化される HTTP コンテンツ。
- MultipartFormDataContent - マルチパート/フォーム データ MIME タイプを使用してエンコードされた HTTP コンテンツ。
- StreamContent - ストリームに基づく HTTP コンテンツ。
- StringContent - 文字列に基づく HTTP コンテンツ。
アプリで System.Net.Http と System.Net.Http.Headers 名前空間を使用し、大量のデータ (50 メガバイト以上) をダウンロードする場合は、それらのダウンロードをストリーミングし、既定のバッファリングを使用しないようにする必要があります。 既定のバッファリングを使用すると、クライアントのメモリ使用量が非常に大きくなり、パフォーマンスが大幅に低下する可能性があります。