System.Net.Http 名前空間

最新の HTTP アプリケーション用のプログラミング インターフェイスを提供します。

クラス

ByteArrayContent

バイト配列に基づいて HTTP コンテンツを提供します。

DelegatingHandler

内部ハンドラーと呼ばれる、別のハンドラーへ HTTP 応答メッセージの処理をデリゲートする HTTP ハンドラーの型。

FormUrlEncodedContent

application/x-www-form-urlencoded MIME 型を使用してエンコードされた名前と値の組のコンテナー。

HttpClient

URI によって識別されるリソースから HTTP 要求を送信し、HTTP 応答を受信するためのクラスを提供します。

HttpClientFactoryExtensions

IHttpClientFactory の拡張メソッド。

HttpClientHandler

.NET Framework および .NET Core 2.0 以前の HttpClient で使用される既定のメッセージ ハンドラー。

HttpContent

HTTP エンティティ本体およびコンテンツ ヘッダーを表す基本クラス。

HttpDiagnosticsHttpRequestMessageExtensions

テレメトリ ユーティリティの拡張機能。

HttpIOException

応答の読み取り中にエラーが発生したときにスローされる例外。

HttpMessageHandler

HTTP メッセージ ハンドラーの基本データ型。

HttpMessageHandlerFactoryExtensions

IHttpMessageHandlerFactory の拡張メソッド。

HttpMessageInvoker

アプリケーションが HTTP ハンドラー チェーンに対して SendAsync(HttpRequestMessage, CancellationToken) メソッドを呼び出せるようにする専用クラス。

HttpMethod

標準的な HTTP メソッドの取得と比較を行い、新しい HTTP メソッドを作成するためのヘルパー クラス。

HttpProtocolException

HTTP/2 または HTTP/3 プロトコル エラーが発生したときにスローされる例外。

HttpRequestException

HttpClientHttpMessageHandler クラスによってスローされる例外の基本クラス。

HttpRequestMessage

HTTP 要求メッセージを表します。

HttpRequestOptions

HTTP 要求のオプションのコレクションを表します。

HttpResilienceHttpRequestMessageExtensions

の回復性拡張 HttpRequestMessage

HttpResponseMessage

ステータス コードとデータを含む HTTP 応答メッセージを表します。

MessageProcessingHandler

要求メッセージと応答メッセージの一部の小さな処理のみを行うハンドラーの基本データ型。

MultipartContent

multipart/* のコンテンツ タイプの指定を使用してシリアル化される HttpContent オブジェクトのコレクションを提供します。

MultipartFormDataContent

MIME の種類 multipart/form-data を使用してエンコードされたコンテンツのコンテナーを提供します。

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 要求の options コレクション内のキーを表します。

インターフェイス

IHttpClientFactory

特定の論理名のカスタム構成を使用して HttpClient インスタンスを作成できるコンポーネントのファクトリ抽象化。

IHttpMessageHandlerFactory

特定の論理名のカスタム構成を使用して HttpMessageHandler インスタンスを作成できるコンポーネントのファクトリ抽象化。

列挙型

ClientCertificateOption

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

CookieUsePolicy

この列挙型では、サーバーと通信するとき、HTTP Cookie を制御できます。

HttpCompletionOption

応答が使用できるようになった場合に HttpClient 操作が完了したと見なすか、内容を含む応答メッセージ全体を読み取った後に完了したと見なすかを示します。

HttpKeepAlivePingPolicy

アイドル状態の接続に HTTP/2 ping フレームを送信するタイミングを指定します。

HttpRequestError

または HttpIOExceptionの理由HttpRequestExceptionを表すエラー カテゴリを定義します。

HttpVersionPolicy

HTTP バージョンを選択してネゴシエートする動作を要求に指定します。

WindowsProxyUsePolicy

この列挙型は、Windows で実行されるときに HttpClient によって使われるプロキシ設定に使うことができるオプションを提供します。

代理人

HeaderEncodingSelector<TContext>

ヘッダー値を解釈するときに使用するエンコードを指定するメソッドを表します。

注釈

名前空間は System.Net.Http 、次の機能を提供するように設計されています。

  1. ユーザーが HTTP 経由で最新の Web サービスを使用できるようにする HTTP クライアント コンポーネント。

  2. クライアントとサーバーの両方で使用できる HTTP コンポーネント (HTTP ヘッダーやメッセージなど)。 これにより、HTTP 経由の最新の Web サービス用のクライアント側とサーバー側の両方で一貫したプログラミング モデルが提供されます。

名前空間と関連System.Net.Http.Headersする名前空間にはSystem.Net.Http、次のコンポーネントのセットが用意されています。

  1. HttpClient - HTTP 経由で要求を送受信するために使用されるプライマリ クラス。

  2. HttpRequestMessage および HttpResponseMessage - IETF によって RFC 2616 で定義されている HTTP メッセージ。

  3. HttpHeaders - IETF によって RFC 2616 で定義されている HTTP ヘッダー。

  4. HttpClientHandler - HTTP 応答メッセージの生成を担当する HTTP ハンドラー。

使用できるさまざまな HTTP メッセージ ハンドラーがあります。 その例を次に示します。

  1. DelegatingHandler - ハンドラーをハンドラー チェーンに接続するために使用されるクラス。

  2. HttpMessageHandler - ほとんどのアプリケーションで最も一般的な要件をサポートする から派生する単純なクラス。

  3. HttpClientHandler - HTTP トランスポート操作を実際に処理するハンドラー チェーンの下部で動作するクラス。

  4. WebRequestHandler - オブジェクトに固有のオプションを使用して HTTP トランスポート操作を処理するハンドラー チェーン クラスの下部で動作する System.Net.HttpWebRequest 特殊なクラス。

HTTP メッセージの内容は、RFC 2616 で定義されているエンティティ本文に対応します。

HTTP コンテンツには、多数のクラスを使用できます。 その例を次に示します。

  1. ByteArrayContent - バイト配列に基づく HTTP コンテンツ。

  2. FormUrlEncodedContent - application/x-www-form-urlencoded MIME タイプを使用してエンコードされた名前/値タプルの HTTP コンテンツ。

  3. MultipartContent - multipart/* コンテンツ タイプ仕様を使用してシリアル化される HTTP コンテンツ。

  4. MultipartFormDataContent - multipart/form-data MIME タイプを使用してエンコードされた HTTP コンテンツ。

  5. StreamContent - ストリームに基づく HTTP コンテンツ。

  6. StringContent - 文字列に基づく HTTP コンテンツ。

名前空間と System.Net.Http.Headers 名前空間を使用するSystem.Net.Httpアプリが大量のデータ (50 メガバイト以上) をダウンロードする場合、アプリはそれらのダウンロードをストリーミングし、既定のバッファリングを使用しないようにする必要があります。 既定のバッファリングを使用すると、クライアントのメモリ使用量が非常に大きくなり、パフォーマンスが大幅に低下する可能性があります。

名前空間と System.Net.Http.Headers 名前空間のSystem.Net.Httpクラスを使用して、Windows ストア アプリまたはデスクトップ アプリを開発できます。 Windows ストア アプリで使用する場合、 および System.Net.Http.Headers 名前空間のSystem.Net.Httpクラスは、Windows 8によって使用されるアプリケーション セキュリティ モデルの一部であるネットワーク分離機能の影響を受けます。 Windows ストア アプリによるネットワーク アクセスを許可するには、システムの Windows ストア アプリのアプリ マニフェストで適切なネットワーク機能を有効にする必要があります。 詳細については、「Network Isolation for Windows Store Apps (Windows ストア アプリのネットワークの分離)」をご覧ください。

こちらもご覧ください