System.Net.Http 名前空間

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

クラス

ByteArrayContent

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

CFNetworkHandler
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 エンティティ本体およびコンテンツ ヘッダーを表す基本クラス。

HttpMessageHandler

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

HttpMessageHandlerFactoryExtensions

IHttpMessageHandlerFactory の拡張メソッド。

HttpMessageInvoker

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

HttpMethod

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

HttpRequestException

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

HttpRequestMessage

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

HttpRequestOptions

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

HttpResponseMessage

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

MessageProcessingHandler

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

MultipartContent

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

MultipartFormDataContent

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

NSUrlSessionHandler

Xamarin スタックを使用する Apple プラットフォーム (iOS、macOS、watchOS、tvOS) の  HttpClient  によって使用される既定のメッセージ ハンドラー

ReadOnlyMemoryContent

ReadOnlyMemory<T> に基づく HTTP コンテンツを提供します。

RtcRequestFactory
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 フレームを送信するタイミングを指定します。

HttpVersionPolicy

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

WindowsProxyUsePolicy

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

代理人

HeaderEncodingSelector<TContext>

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

注釈

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

  1. Http 経由での最新の web サービスの使用をユーザーに許可する HTTP クライアントコンポーネント。

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

System.Net.Http名前空間と関連する System.Net.Http.Headers 名前空間は、次のコンポーネントのセットを提供します。

  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/url エンコード MIME タイプを使用してエンコードされた名前と値のタプルの HTTP コンテンツ。

  3. MultipartContent -マルチパート/* コンテンツタイプの仕様を使用してシリアル化された HTTP コンテンツ。

  4. MultipartFormDataContent -マルチパート/フォームデータの MIME の種類を使用してエンコードされた HTTP コンテンツ。

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

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

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

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

こちらもご覧ください