HttpClientクラスを使ってWeb APIから情報を取得
webから情報を取得するサンプルを見ていきましょう
サンプルコード
このコードは、HttpClientクラスを使ってWeb APIから情報を取得し、コンソールに出力するものです。
using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace ConsoleApp
{
class Program
{
static void Main(string[] args)
{
// 1. HttpClientクラスのインスタンス(client)を生成
HttpClient client = new HttpClient();
// 2. URLを変数urlに代入
string url = "https://example.com/weather";
// 3. HttpClientのGetStringAsyncメソッドを呼び出して、結果を取得
Task<string> response = client.GetStringAsync(url);
// 4. 結果をコンソールに出力
Console.WriteLine(response.Result);
Console.ReadLine();
}
}
}
解説
- 最初にHttpClientクラスのインスタンス(client)を生成します。これにより、HTTP通信を行うためのクライアントを生成できます。
- 次に、情報を取得するWeb APIのURLを変数urlに代入します。ここでは「https://example.com/weather」というURLを想定しています。
- GetStringAsyncメソッドを呼び出して、Web APIから天気情報を取得します。このメソッドは非同期で動作するため、Task<string>型の変数responseに結果が格納されます。
- 最後に、Task<string>型の変数responseから結果を取り出して、コンソールに出力します。Resultプロパティを使って、Web APIから取得した天気情報を文字列として取り出します。
このように、HttpClientクラスを使うことで、Web APIからデータを取得することができます。
非同期で情報を取得とは
GetStringAsyncメソッドは非同期で動作します。非同期処理とは、主に処理の中断を許すことで、他の処理を同時に実行することができるプログラムのことです。このコードでは、Web APIからデータを取得するためのGetStringAsyncメソッドを呼び出していますが、このメソッドは別のタスクとして実行されます。つまり、Web APIからのデータ取得と、他の処理を同時に実行することができます。
非同期処理は、長時間かかる処理を同期で実行すると、アプリケーションがフリーズするなどの問題が発生することを回避するために使われます。非同期処理を使うことで、アプリケーションの処理速度が向上し、ユーザーの体験が向上することが期待されます。
ディスカッション
コメント一覧
まだ、コメントがありません