次の方法で共有


HttpClient.TryGetBufferAsync(Uri) メソッド

定義

指定した URI に GET 要求を送信し、非同期操作で IBuffer 値を使用して HttpGetBufferResult として応答本文を返します。 HttpClient クラスのプログラミング ガイダンスとコード例については、HttpClient の概念に関するトピックを参照してください。

public:
 virtual IAsyncOperationWithProgress<HttpGetBufferResult ^, HttpProgress> ^ TryGetBufferAsync(Uri ^ uri) = TryGetBufferAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<HttpGetBufferResult, HttpProgress> TryGetBufferAsync(Uri const& uri);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<HttpGetBufferResult,HttpProgress> TryGetBufferAsync(System.Uri uri);
function tryGetBufferAsync(uri)
Public Function TryGetBufferAsync (uri As Uri) As IAsyncOperationWithProgress(Of HttpGetBufferResult, HttpProgress)

パラメーター

uri
Uri Uri

要求の送信先 URI。

戻り値

非同期操作を表す オブジェクト。

属性

Windows の要件

デバイス ファミリ
Windows 10, version 1903 (10.0.18362.0 で導入)
API contract
Windows.Foundation.UniversalApiContract (v8.0 で導入)

注釈

このメソッドは、小さな画像や圧縮ファイルなどのバイナリ コンテンツをダウンロードするときに一般的に呼び出されます。 不要なバッファリングを防ぐために、 HttpClient.TryGetInputStreamAsync を使用して非常に大きなバイナリ コンテンツをストリームとしてダウンロードする必要があります。

この操作はブロックされません。 返された IAsyncOperationWithProgress ( HttpGetBufferResultHttpProgress の) は、応答本文全体が読み取られた後に完了します。

HttpClient クラスは、多くの場合、テキストをダウンロードして解析するためにアプリによって使用されます。 HTTP サーバーによって Content-Type ヘッダーで指定された文字エンコードが、HTTP 応答本文の文字エンコード (XML ドキュメント内の XML エンコードなど) と一致しない可能性があります。 テキストで HttpClient を使用する 1 つの方法は、TryGetStringAsync メソッドを呼び出し、返された文字列をテキスト パーサーに渡すことです。 ただし、 Content-Type が文字列として表現可能な型でない場合は、エラーが発生する可能性があります。 XML パーサーで HttpClient を 使用する信頼性の高い方法は、TryGetBufferAsync メソッドを呼び出し、"<?xml>" 要素のバッファーを解析することです。 次に、指定された文字エンコード ("<xmlversion="1.0" encoding="UTF-8"?>"など) を使用して、HTTP 応答本文を解析します。 他のテキスト形式の場合は、同様のメソッドを使用して、アプリが HTTP 応答本文の最初の部分をスキャンして、使用される文字エンコードを決定できます。

適用対象

こちらもご覧ください