![見出し画像](https://assets.st-note.com/production/uploads/images/30712120/rectangle_large_type_2_95adae9f75375bff37cfbda0d812fb91.png?width=1200)
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でした。