この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

HttpClient クラス

.NET Framework (current version)
 

公開日: 2016年10月

System_CAPS_noteメモ

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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

名前空間:   System.Net.Http
アセンブリ:  System.Net.Http (System.Net.Http.dll 内)

System.Object
  System.Net.Http.HttpMessageInvoker
    System.Net.Http.HttpClient

public class HttpClient : HttpMessageInvoker

名前説明
System_CAPS_pubmethodHttpClient()

HttpClient クラスの新しいインスタンスを初期化します。

System_CAPS_pubmethodHttpClient(HttpMessageHandler)

指定したハンドラーを使用して、HttpClient クラスの新しいインスタンスを初期化します。

System_CAPS_pubmethodHttpClient(HttpMessageHandler, Boolean)

指定したハンドラーを使用して、HttpClient クラスの新しいインスタンスを初期化します。

名前説明
System_CAPS_pubpropertyBaseAddress

要求を送信するときに使用する、インターネット リソースの Uniform Resource Identifier (URI) のベース アドレスを取得または設定します。

System_CAPS_pubpropertyDefaultRequestHeaders

各要求と一緒に送信する必要があるヘッダーを取得します。

System_CAPS_pubpropertyMaxResponseContentBufferSize

応答の内容を読み取るときにバッファーに格納できる最大バイト数を取得または設定します。

System_CAPS_pubpropertyTimeout

要求がタイムアウトするまで待機する期間を取得または設定します。

名前説明
System_CAPS_pubmethodCancelPendingRequests()

このインスタンスの保留中の要求をすべてキャンセルします。

System_CAPS_pubmethodDeleteAsync(String)

指定された URI に DELETE 要求を非同期操作として送信します。

System_CAPS_pubmethodDeleteAsync(String, CancellationToken)

非同期操作としてキャンセル トークンを使用して削除要求を指定された Uri に送信します。

System_CAPS_pubmethodDeleteAsync(Uri)

指定された URI に DELETE 要求を非同期操作として送信します。

System_CAPS_pubmethodDeleteAsync(Uri, CancellationToken)

非同期操作としてキャンセル トークンを使用して削除要求を指定された Uri に送信します。

System_CAPS_pubmethodDispose()

リリースで使用されるアンマネージ リソースおよびマネージ リソースを破棄、 HttpMessageInvokerです。(HttpMessageInvoker から継承されます。)

System_CAPS_protmethodDispose(Boolean)

HttpClient が使用しているアンマネージ リソースを解放します。オプションとして、マネージ リソースを破棄することもできます。(HttpMessageInvoker.Dispose(Boolean) をオーバーライドします。)

System_CAPS_pubmethodEquals(Object)

指定したオブジェクトが、現在のオブジェクトと等しいかどうかを判断します。(Object から継承されます。)

System_CAPS_protmethodFinalize()

オブジェクトが、ガベージ コレクションによって収集される前に、リソースの解放とその他のクリーンアップ操作の実行を試みることができるようにします。(Object から継承されます。)

System_CAPS_pubmethodGetAsync(String)

指定された URI に GET 要求を非同期操作として送信します。

System_CAPS_pubmethodGetAsync(String, CancellationToken)

非同期操作としてキャンセル トークンを使用して GET 要求を指定された Uri に送信します。

System_CAPS_pubmethodGetAsync(String, HttpCompletionOption)

非同期操作としてHTTP 完了オプションを使用して GET 要求を指定された Uri に送信します。

System_CAPS_pubmethodGetAsync(String, HttpCompletionOption, CancellationToken)

非同期操作としてキャンセル トークンおよび HTTP 完了オプションを使用して GET 要求を指定された Uri に送信します。

System_CAPS_pubmethodGetAsync(Uri)

指定された URI に GET 要求を非同期操作として送信します。

System_CAPS_pubmethodGetAsync(Uri, CancellationToken)

非同期操作としてキャンセル トークンを使用して GET 要求を指定された Uri に送信します。

System_CAPS_pubmethodGetAsync(Uri, HttpCompletionOption)

非同期操作としてHTTP 完了オプションを使用して GET 要求を指定された Uri に送信します。

System_CAPS_pubmethodGetAsync(Uri, HttpCompletionOption, CancellationToken)

非同期操作としてキャンセル トークンおよび HTTP 完了オプションを使用して GET 要求を指定された Uri に送信します。

System_CAPS_pubmethodGetByteArrayAsync(String)

指定 URI に GET 要求を送信し、非同期操作で応答本体をバイト配列として返します。

System_CAPS_pubmethodGetByteArrayAsync(Uri)

指定 URI に GET 要求を送信し、非同期操作で応答本体をバイト配列として返します。

System_CAPS_pubmethodGetHashCode()

既定のハッシュ関数として機能します。(Object から継承されます。)

System_CAPS_pubmethodGetStreamAsync(String)

指定 URI に GET 要求を送信し、非同期操作で応答本体をストリームとして返します。

System_CAPS_pubmethodGetStreamAsync(Uri)

指定 URI に GET 要求を送信し、非同期操作で応答本体をストリームとして返します。

System_CAPS_pubmethodGetStringAsync(String)

指定 URI に GET 要求を送信し、非同期操作で応答本体を文字列として返します。

System_CAPS_pubmethodGetStringAsync(Uri)

指定 URI に GET 要求を送信し、非同期操作で応答本体を文字列として返します。

System_CAPS_pubmethodGetType()

現在のインスタンスの Type を取得します。(Object から継承されます。)

System_CAPS_protmethodMemberwiseClone()

現在の Object の簡易コピーを作成します。(Object から継承されます。)

System_CAPS_pubmethodPostAsync(String, HttpContent)

指定された URI に POST 要求を非同期操作として送信します。

System_CAPS_pubmethodPostAsync(String, HttpContent, CancellationToken)

POST 要求をキャンセル トークンとともに非同期操作として送信します。

System_CAPS_pubmethodPostAsync(Uri, HttpContent)

指定された URI に POST 要求を非同期操作として送信します。

System_CAPS_pubmethodPostAsync(Uri, HttpContent, CancellationToken)

POST 要求をキャンセル トークンとともに非同期操作として送信します。

System_CAPS_pubmethodPutAsync(String, HttpContent)

指定された URI に PUT 要求を非同期操作として送信します。

System_CAPS_pubmethodPutAsync(String, HttpContent, CancellationToken)

PUT 要求をとキャンセル トークンと共に非同期操作として送信します。

System_CAPS_pubmethodPutAsync(Uri, HttpContent)

指定された URI に PUT 要求を非同期操作として送信します。

System_CAPS_pubmethodPutAsync(Uri, HttpContent, CancellationToken)

PUT 要求をとキャンセル トークンと共に非同期操作として送信します。

System_CAPS_pubmethodSendAsync(HttpRequestMessage)

非同期操作として HTTP 要求を送信します。

System_CAPS_pubmethodSendAsync(HttpRequestMessage, CancellationToken)

非同期操作として HTTP 要求を送信します。(HttpMessageInvoker.SendAsync(HttpRequestMessage, CancellationToken) をオーバーライドします。)

System_CAPS_pubmethodSendAsync(HttpRequestMessage, HttpCompletionOption)

非同期操作として HTTP 要求を送信します。

System_CAPS_pubmethodSendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

非同期操作として HTTP 要求を送信します。

System_CAPS_pubmethodToString()

現在のオブジェクトを表す文字列を返します。(Object から継承されます。)

HttpClientクラスのインスタンスが HTTP 要求を送信するセッションとして機能します。 HttpClientインスタンスがそのインスタンスで実行されるすべての要求に適用される設定のコレクション。 さらに、すべてHttpClientインスタンスが他に実行される要求からの要求を分離する独自の接続プールを使用してHttpClientインスタンス。

HttpClientも特定の HTTP クライアントの基底クラスとして機能します。 例として、FacebookHttpClient Facebook web サービスに固有の追加のメソッドを提供することがあります (GetFriends メソッドのインスタンス)。

既定では、HttpWebRequestサーバーに要求を送信するために使用されます。 この動作を受け取るコンス トラクターのオーバー ロードのいずれかで別のチャネルを指定することによって変更できる、HttpMessageHandlerパラメーターとしてのインスタンス。 認証やキャッシュなどの機能が必要な場合、WebRequestHandler設定を構成するために使用することができますし、コンス トラクターに渡されるインスタンスのことができます。 返されるハンドラーを受け取るコンス トラクターのオーバー ロードのいずれかに渡すことができます、HttpMessageHandlerパラメーター。

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

次の方法では、スレッド セーフです。

  1. CancelPendingRequests

  2. DeleteAsync

  3. GetAsync

  4. GetByteArrayAsync

  5. GetStreamAsync

  6. GetStringAsync

  7. PostAsync

  8. PutAsync

  9. SendAsync

HttpClient1 回インスタンス化しても、アプリケーションの有効期間全体で再使用するものです。 要求ごとに、HttpClient クラスをインスタンス化すると、負荷の高い使用可能なソケットの数がすべて消費されます。 これにより、SocketException エラーが発生します。 HttpClient の不適切な使用例を次に示します。

public class GoodController : ApiController
{
    // OK
    private static readonly HttpClient HttpClient;

    static GoodController()
    {
        HttpClient = new HttpClient();
    }
}

 static async void Main()
{

    // Create a New HttpClient object.
    HttpClient client = new HttpClient();

    // 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();
       // Above three lines can be replaced with new helper method below
       // string responseBody = await client.GetStringAsync(uri);

       Console.WriteLine(responseBody);
    }  
    catch(HttpRequestException e)
    {
       Console.WriteLine("\nException Caught!");	
       Console.WriteLine("Message :{0} ",e.Message);
    }

    // Need to call dispose on the HttpClient object
    // when done using it, so the app doesn't leak resources
    client.Dispose(true);
 }

ユニバーサル Windows プラットフォーム
8 以降で使用可能
.NET Framework
4.5 以降で使用可能
ポータブル クラス ライブラリ
サポート対象: 移植可能 .NET プラットフォーム
Windows Phone
8.1 以降で使用可能

この型のパブリック static (Visual Basic では Shared ) メンバーはスレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。

トップに戻る
表示: