HttpClient.GetStringAsync(Uri) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
指定 URI に GET 要求を送信し、非同期操作で応答本体を文字列として返します。 HttpClient クラスのプログラミング ガイダンスとコード例については、HttpClient の概念に関するトピックを参照してください。
public:
virtual IAsyncOperationWithProgress<Platform::String ^, HttpProgress> ^ GetStringAsync(Uri ^ uri) = GetStringAsync;
/// [Windows.Foundation.Metadata.RemoteAsync]
IAsyncOperationWithProgress<winrt::hstring, HttpProgress> GetStringAsync(Uri const& uri);
[Windows.Foundation.Metadata.RemoteAsync]
public IAsyncOperationWithProgress<string,HttpProgress> GetStringAsync(System.Uri uri);
function getStringAsync(uri)
Public Function GetStringAsync (uri As Uri) As IAsyncOperationWithProgress(Of String, HttpProgress)
パラメーター
戻り値
IAsyncOperationWithProgress<Platform::String,HttpProgress>
IAsyncOperationWithProgress<winrt::hstring,HttpProgress>
非同期操作を表す オブジェクト。
- 属性
注釈
この操作はブロックされません。 返された IAsyncOperationWithProgress (string と HttpProgress の) は、応答本文全体が読み取られた後に完了します。
HttpClient クラスは、多くの場合、テキストをダウンロードして解析するためにアプリによって使用されます。 HTTP サーバーによって Content-Type ヘッダーで指定された文字エンコードが、HTTP 応答本文の文字エンコード (XML ドキュメント内の XML エンコードなど) と一致しない可能性があります。 テキストで HttpClient を使用する方法の 1 つは、GetStringAsync メソッドを呼び出し、返された文字列をテキスト パーサーに渡すことです。 ただし、 Content-Type が文字列として表現可能な型でない場合は、エラーが発生する可能性があります。 XML パーサーで HttpClient を 使用する信頼性の高い方法は、 GetBufferAsync メソッドを呼び出し、"<?xml>" 要素のバッファーを解析することです。 次に、指定された文字エンコード ("<xmlversion="1.0" encoding="UTF-8"?>"など) を使用して、HTTP 応答本文を解析します。 他のテキスト形式の場合は、同様のメソッドを使用して、アプリが HTTP 応答本文の最初の部分をスキャンして、使用される文字エンコードを決定できます。
この関数がスローする例外を次に示します。
E_INVALIDARG
uri パラメーターは null 参照でした (Visual Basic では Nothing)。
例外処理
このメソッドを呼び出すときに例外を処理するコードを記述する必要があります。 例外は、パラメーター検証エラー、名前解決エラー、およびネットワーク エラーによって発生する可能性があります。 ネットワーク エラーの例外 (接続の損失、接続エラー、HTTP サーバーの障害など) は、いつでも発生する可能性があります。 これらのエラーが起きると、例外がスローされます。 アプリによって処理されない場合は、例外によってアプリ全体がランタイムによって終了する可能性があります。 例外を処理する方法の詳細については、「 ネットワーク アプリでの例外の処理」を参照してください。