HttpClient クラス

定義

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

public ref class HttpClient : System::Net::Http::HttpMessageInvoker
public class HttpClient : System.Net.Http.HttpMessageInvoker
type HttpClient = class
    inherit HttpMessageInvoker
Public Class HttpClient
Inherits HttpMessageInvoker
継承

// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
static readonly HttpClient client = new HttpClient();

static async Task Main()
{
    // Call asynchronous network methods in a try/catch block to handle exceptions.
    try
    {
        using 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);
    }
}
open System.Net.Http

// HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
let client = new HttpClient()

let main =
    task {
        // Call asynchronous network methods in a try/catch block to handle exceptions.
        try
            use! response = client.GetAsync "http://www.contoso.com/"
            response.EnsureSuccessStatusCode() |> ignore
            let! responseBody = response.Content.ReadAsStringAsync()
            // Above three lines can be replaced with new helper method below
            // let! responseBody = client.GetStringAsync uri

            printfn $"{responseBody}"
        with
        | :? HttpRequestException as e ->
            printfn "\nException Caught!"
            printfn $"Message :{e.Message} "
    }

main.Wait()
' HttpClient is intended to be instantiated once per application, rather than per-use. See Remarks.
Shared ReadOnly client As HttpClient = New HttpClient()

Private Shared Async Function Main() As Task
    ' Call asynchronous network methods in a try/catch block to handle exceptions.
    Try
        Using response As HttpResponseMessage = Await client.GetAsync("http://www.contoso.com/")
            response.EnsureSuccessStatusCode()
            Dim responseBody As String = Await response.Content.ReadAsStringAsync()
            ' Above three lines can be replaced with new helper method below
            ' Dim responseBody As String = Await client.GetStringAsync(uri)

            Console.WriteLine(responseBody)
        End Using
    Catch e As HttpRequestException
        Console.WriteLine(Environment.NewLine & "Exception Caught!")
        Console.WriteLine("Message :{0} ", e.Message)
    End Try
End Function

注釈

この API の詳細については、「 HttpClient の補足 API 解説」を参照してください。

コンストラクター

名前 説明
HttpClient()

このインスタンスが破棄されるときに破棄されるHttpClientHandlerを使用して、HttpClient クラスの新しいインスタンスを初期化します。

HttpClient(HttpMessageHandler, Boolean)

指定されたハンドラーを使用して HttpClient クラスの新しいインスタンスを初期化し、このインスタンスが破棄されるときにそのハンドラーを破棄するかどうかを指定します。

HttpClient(HttpMessageHandler)

指定したハンドラーを使用して、 HttpClient クラスの新しいインスタンスを初期化します。 ハンドラーは、このインスタンスが破棄されるときに破棄されます。

プロパティ

名前 説明
BaseAddress

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

DefaultProxy

グローバル HTTP プロキシを取得または設定します。

DefaultRequestHeaders

各要求で送信するヘッダーを取得します。

DefaultRequestVersion

この HttpClient インスタンスによって後続の要求に使用される既定の HTTP バージョンを取得または設定します。

DefaultVersionPolicy

GetAsync(String)PostAsync(String, HttpContent)など、便利なメソッドで暗黙的に作成された要求の既定のバージョン ポリシーを取得または設定します。

MaxResponseContentBufferSize

応答コンテンツを読み取るときにバッファーに格納する最大バイト数を取得または設定します。

Timeout

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

メソッド

名前 説明
CancelPendingRequests()

このインスタンスで保留中のすべての要求を取り消します。

DeleteAsync(String, CancellationToken)

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

DeleteAsync(String)

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

DeleteAsync(Uri, CancellationToken)

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

DeleteAsync(Uri)

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

Dispose()

アンマネージ リソースを解放し、 HttpMessageInvokerによって使用されるマネージド リソースを破棄します。

(継承元 HttpMessageInvoker)
Dispose(Boolean)

HttpClientによって使用されるアンマネージ リソースを解放し、必要に応じてマネージド リソースを破棄します。

Equals(Object)

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

(継承元 Object)
GetAsync(String, CancellationToken)

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

GetAsync(String, HttpCompletionOption, CancellationToken)

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

GetAsync(String, HttpCompletionOption)

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

GetAsync(String)

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

GetAsync(Uri, CancellationToken)

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

GetAsync(Uri, HttpCompletionOption, CancellationToken)

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

GetAsync(Uri, HttpCompletionOption)

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

GetAsync(Uri)

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

GetByteArrayAsync(String, CancellationToken)

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

GetByteArrayAsync(String)

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

GetByteArrayAsync(Uri, CancellationToken)

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

GetByteArrayAsync(Uri)

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

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetStreamAsync(String, CancellationToken)

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

GetStreamAsync(String)

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

GetStreamAsync(Uri, CancellationToken)

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

GetStreamAsync(Uri)

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

GetStringAsync(String, CancellationToken)

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

GetStringAsync(String)

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

GetStringAsync(Uri, CancellationToken)

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

GetStringAsync(Uri)

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

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Objectの簡易コピーを作成します。

(継承元 Object)
PatchAsync(String, HttpContent, CancellationToken)

キャンセル トークンを含む PATCH 要求を、非同期操作として文字列として表される URI に送信します。

PatchAsync(String, HttpContent)

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

PatchAsync(Uri, HttpContent, CancellationToken)

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

PatchAsync(Uri, HttpContent)

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

PostAsync(String, HttpContent, CancellationToken)

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

PostAsync(String, HttpContent)

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

PostAsync(Uri, HttpContent, CancellationToken)

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

PostAsync(Uri, HttpContent)

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

PutAsync(String, HttpContent, CancellationToken)

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

PutAsync(String, HttpContent)

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

PutAsync(Uri, HttpContent, CancellationToken)

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

PutAsync(Uri, HttpContent)

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

Send(HttpRequestMessage, CancellationToken)

指定した要求とキャンセル トークンを使用して HTTP 要求を送信します。

Send(HttpRequestMessage, HttpCompletionOption, CancellationToken)

指定された要求、完了オプション、およびキャンセル トークンを使用して HTTP 要求を送信します。

Send(HttpRequestMessage, HttpCompletionOption)

HTTP 要求を送信します。

Send(HttpRequestMessage)

指定した要求を含む HTTP 要求を送信します。

SendAsync(HttpRequestMessage, CancellationToken)

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

SendAsync(HttpRequestMessage, HttpCompletionOption, CancellationToken)

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

SendAsync(HttpRequestMessage, HttpCompletionOption)

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

SendAsync(HttpRequestMessage)

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

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

拡張メソッド

名前 説明
DeleteFromJsonAsync(HttpClient, String, Type, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync(HttpClient, Uri, Type, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync<TValue>(HttpClient, String, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

DeleteFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)

指定した URI に DELETE 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, CancellationToken)

指定したrequestUriHTTP GET要求を送信し、非同期列挙可能な操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)

指定したrequestUriHTTP GET要求を送信し、非同期列挙可能な操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)

指定したrequestUriHTTP GET要求を送信し、非同期列挙可能な操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, CancellationToken)

指定したrequestUriHTTP GET要求を送信し、非同期列挙可能な操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)

指定したrequestUriHTTP GET要求を送信し、非同期列挙可能な操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsAsyncEnumerable<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)

指定したrequestUriHTTP GET要求を送信し、非同期列挙可能な操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync(HttpClient, String, Type, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync(HttpClient, String, Type, JsonSerializerContext, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync(HttpClient, String, Type, JsonSerializerOptions, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync(HttpClient, Uri, Type, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerContext, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync(HttpClient, Uri, Type, JsonSerializerOptions, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync<TValue>(HttpClient, String, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync<TValue>(HttpClient, String, JsonSerializerOptions, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync<TValue>(HttpClient, String, JsonTypeInfo<TValue>, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync<TValue>(HttpClient, Uri, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync<TValue>(HttpClient, Uri, JsonSerializerOptions, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

GetFromJsonAsync<TValue>(HttpClient, Uri, JsonTypeInfo<TValue>, CancellationToken)

指定した URI に GET 要求を送信し、非同期操作で応答本文を JSON として逆シリアル化した結果の値を返します。

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定された URI に PATCH 要求を送信します。

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定された URI に PATCH 要求を送信します。

PatchAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定された URI に PATCH 要求を送信します。

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定された URI に PATCH 要求を送信します。

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定された URI に PATCH 要求を送信します。

PatchAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定された URI に PATCH 要求を送信します。

PostAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に POST 要求を送信します。

PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に POST 要求を送信します。

PostAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に POST 要求を送信します。

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に POST 要求を送信します。

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に POST 要求を送信します。

PostAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に POST 要求を送信します。

PutAsJsonAsync<TValue>(HttpClient, String, TValue, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に PUT 要求を送信します。

PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonSerializerOptions, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に PUT 要求を送信します。

PutAsJsonAsync<TValue>(HttpClient, String, TValue, JsonTypeInfo<TValue>, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に PUT 要求を送信します。

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に PUT 要求を送信します。

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonSerializerOptions, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に PUT 要求を送信します。

PutAsJsonAsync<TValue>(HttpClient, Uri, TValue, JsonTypeInfo<TValue>, CancellationToken)

要求本文で JSON としてシリアル化された value を含む指定した URI に PUT 要求を送信します。

適用対象

こちらもご覧ください