見出し画像

HttpClient@C# BaseAddressを理解する。

From: Hatch
前回はHttpClientクラスを利用した最小限のコードを紹介しました。

今日はHttpClientのプロパティであるBaseAddress(基準となるURL)を指定する方法を説明します。

コード

using System;
using System.Net.Http;
using System.Threading.Tasks;
namespace HatchLab
{
   class Program
   {
       // Mainメソッドから非同期のMainAsyncメソッドを呼び出す。
       static void Main(string[] args) => MainAsync().GetAwaiter().GetResult();
       static async Task MainAsync()
       {
           // HttpClientクラスをインスタンス生成(BaseAddressをnoteのドメインを指定する)
           using (var http = new HttpClient { BaseAddress = new Uri(@"https://note.com") })
           {
               // BaseAddress(基準となるURL)からの相対なURLでアクセス可能
               var html = await http.GetStringAsync(@"/hatchsystem");
           }
       }
   }
}

コードの意味

1.BaseAddress(基準となるURL)を指定して、HTTPアクセス用クラス(HttpClient)のインスタンスを作成

using (var http = new HttpClient {
    BaseAddress = new Uri(@"https://note.com") 
    }) {...}

ここでは基準となるURLとして、「https://note.com」を指定しています。

2.相対URLを指定して、データを文字列で取得する。

var html = await http.GetStringAsync(@"/hatchsystem");

ここでは、相対URLとして「/hatchsystem」を指定してデータを文字列として取得しています。

手順1でBaseAddressを指定していることによって、GetStringAsyncメソッドは「https://note.com/hatchsystem」のデータを取得します。

以上が、BaseAddressを指定したWebからのデータ取得についてでした。

PS.
内容の粒度は、初心者を対象としているため、小さくしています。
ご意見等ありましたらコメントください😉

Hatchでした。

関連記事


この記事が気に入ったらサポートをしてみませんか?