C#のHTTPClientの使い方について整理

基本的なPOSTリクエスト

public static async Task<string> Request()
{
    var httpClient = new HttpClient();
    var parameters = new Dictionary<string, string>()
    {
        { "item1", "aaaaa" },
        { "item2", "bbbbb" },
        { "item3", "ccccc" },
    };
    
    var content = new FormUrlEncodedContent(parameters);
    using (var response = await httpClient.PostAsync([リクエスト先URL], content))
    {
        var result = await response.Content.ReadAsStringAsync();
        return JsonConvert.DeserializeObject<[返却用オブジェクトの型]>(HttpUtility.UrlDecode(result));
    }
}

HTTPヘッダーにBeareトークンをセットしてリクエストを送る方法

public static async Task<string> Responce(string tokenDictionary<string, string> parameters)
{
    var httpClient = new HttpClient();
    // headerにAuth認証用tokenをセット
    httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", token);
    // DIctionaryのパラメータを[リクエスト先URL]の末尾にGET形式で付加する
    var url = [リクエスト先URL]?{await new FormUrlEncodedContent(parameters).ReadAsStringAsync()}";
    using (var response = await httpClient.GetAsync(url))
    {
        return await response.Content.ReadAsStringAsync();
    }
}

コメントを残す