HttpClient.GetStreamAsync メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定した URI に GET 要求を送信し、非同期操作で応答本文をストリームとして返します。
オーバーロード
| 名前 | 説明 |
|---|---|
| GetStreamAsync(Uri) |
指定した URI に GET 要求を送信し、非同期操作で応答本文をストリームとして返します。 |
| GetStreamAsync(String) |
指定した URI に GET 要求を送信し、非同期操作で応答本文をストリームとして返します。 |
注釈
この操作はブロックされません。
GetStreamAsync(Uri)
指定した URI に GET 要求を送信し、非同期操作で応答本文をストリームとして返します。
public:
System::Threading::Tasks::Task<System::IO::Stream ^> ^ GetStreamAsync(Uri ^ requestUri);
public System.Threading.Tasks.Task<System.IO.Stream> GetStreamAsync(Uri requestUri);
member this.GetStreamAsync : Uri -> System.Threading.Tasks.Task<System.IO.Stream>
Public Function GetStreamAsync (requestUri As Uri) As Task(Of Stream)
パラメーター
- requestUri
- Uri
要求の送信先の URI。
返品
非同期操作を表すタスク オブジェクト。
例外
requestUriは絶対 URI ではなく、BaseAddressは設定されていません。
ネットワーク接続エラー、DNS エラー、サーバー証明書検証エラー、無効なサーバー応答など、有効な HTTP 応答の取得に関する問題が原因で要求が失敗しました。 .NET 8 以降のバージョンでは、理由は HttpRequestError
-または-
応答状態コードが 200 から 299 の範囲外でした (標準に従って成功したことを示します)。
-または-
.NET Framework のみ: 要求がタイムアウトしました。
.NET Core と .NET 5 以降のみ: タイムアウトのため要求が失敗しました。
注釈
この操作はブロックされません。 返された Task<Stream> オブジェクトは、応答ヘッダーの読み取り後に完了します。 このメソッドは、応答本文の読み取りとバッファー処理を行いません。
内部的には、この操作では HttpResponseMessage.EnsureSuccessStatusCode を使用して、応答状態コードが成功範囲 (200 から 299) にあることを確認し、そうでない場合は HttpRequestException をスローします。
一部のシナリオでは、成功と見なされる状態コードをより詳細に制御する必要がある場合があります。たとえば、API は常に 200 OKを返す必要があります。 このような場合は、 StatusCode が期待値と一致するかどうかを手動で確認することをお勧めします。
Note
タイムアウトが発生した場合:
- .NET Framework は、HttpRequestException をスローします。
- .NET Core は、内部例外なしで OperationCanceledException をスローします。
- .NET 5 以降のバージョンでは、TimeoutExceptionを入れ子にするOperationCanceledExceptionがスローされます。
適用対象
GetStreamAsync(String)
指定した URI に GET 要求を送信し、非同期操作で応答本文をストリームとして返します。
public:
System::Threading::Tasks::Task<System::IO::Stream ^> ^ GetStreamAsync(System::String ^ requestUri);
public System.Threading.Tasks.Task<System.IO.Stream> GetStreamAsync(string requestUri);
member this.GetStreamAsync : string -> System.Threading.Tasks.Task<System.IO.Stream>
Public Function GetStreamAsync (requestUri As String) As Task(Of Stream)
パラメーター
- requestUri
- String
要求の送信先の URI。
返品
非同期操作を表すタスク オブジェクト。
例外
requestUriは絶対 URI ではなく、BaseAddressは設定されていません。
ネットワーク接続エラー、DNS エラー、サーバー証明書検証エラー、無効なサーバー応答など、有効な HTTP 応答の取得に関する問題が原因で要求が失敗しました。 .NET 8 以降のバージョンでは、理由は HttpRequestError
-または-
応答状態コードが 200 から 299 の範囲外でした (標準に従って成功したことを示します)。
-または-
.NET Framework のみ: 要求がタイムアウトしました。
.NET Core と .NET 5 以降のみ: タイムアウトのため要求が失敗しました。
指定された要求 URI が有効な相対 URI または絶対 URI ではありません。
注釈
この操作はブロックされません。 返された Task<Stream> オブジェクトは、応答ヘッダーの読み取り後に完了します。 このメソッドは、応答本文の読み取りやバッファー処理を行いません。
内部的には、この操作では HttpResponseMessage.EnsureSuccessStatusCode を使用して、応答状態コードが成功範囲 (200 から 299) にあることを確認し、そうでない場合は HttpRequestException をスローします。
一部のシナリオでは、成功と見なされる状態コードをより詳細に制御する必要がある場合があります。たとえば、API は常に 200 OKを返す必要があります。 このような場合は、 StatusCode が期待値と一致するかどうかを手動で確認することをお勧めします。
Note
タイムアウトが発生した場合:
- .NET Framework は、HttpRequestException をスローします。
- .NET Core は、内部例外なしで OperationCanceledException をスローします。
- .NET 5 以降のバージョンでは、TimeoutExceptionを入れ子にするOperationCanceledExceptionがスローされます。