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();
        }
    }
}

解説

  1. 最初にHttpClientクラスのインスタンス(client)を生成します。これにより、HTTP通信を行うためのクライアントを生成できます。
  2. 次に、情報を取得するWeb APIのURLを変数urlに代入します。ここでは「https://example.com/weather」というURLを想定しています。
  3. GetStringAsyncメソッドを呼び出して、Web APIから天気情報を取得します。このメソッドは非同期で動作するため、Task<string>型の変数responseに結果が格納されます。
  4. 最後に、Task<string>型の変数responseから結果を取り出して、コンソールに出力します。Resultプロパティを使って、Web APIから取得した天気情報を文字列として取り出します。

このように、HttpClientクラスを使うことで、Web APIからデータを取得することができます。

非同期で情報を取得とは

GetStringAsyncメソッドは非同期で動作します。非同期処理とは、主に処理の中断を許すことで、他の処理を同時に実行することができるプログラムのことです。このコードでは、Web APIからデータを取得するためのGetStringAsyncメソッドを呼び出していますが、このメソッドは別のタスクとして実行されます。つまり、Web APIからのデータ取得と、他の処理を同時に実行することができます。

非同期処理は、長時間かかる処理を同期で実行すると、アプリケーションがフリーズするなどの問題が発生することを回避するために使われます。非同期処理を使うことで、アプリケーションの処理速度が向上し、ユーザーの体験が向上することが期待されます。