・以下にサンプルコードを示す。
使い方
// 呼び出す
var res = HttpUtil.requestURL("対象のURLを記載",
new Dictionary<string, string>()
{
{"p_arg", "291"}, /パラメータが必要な場合はこのように追加
{"p_hoge", "1"},
});
// レスポンスボディがjsonなら以下のようにデシリアライズして利用する。単純なjsonなら以下の通り。
var data = JsonSerializer.Deserialize<Dictionary<string, string>>(res);
// 共通化したメソッド
public static string requestURL(string reqUrl, Dictionary<string, string> param)
{
using (var client = new HttpClient())
{
var request = new HttpRequestMessage(HttpMethod.Post, reqUrl);
string reqBodyJson = JsonSerializer.Serialize(param);
var content = new StringContent(reqBodyJson, System.Text.Encoding.UTF8, @"application/json");
request.Content = content;
try
{
var response = client.SendAsync(request);
var resBodyStr = response.Result.Content.ReadAsStringAsync().Result;
// なぜかこの文字列が含まれていることあるので除去
resBodyStr = resBodyStr.Replace("{\"d\":null}", "");
return resBodyStr;
}
catch (Exception)
{
throw;
}
}
}
参考
https://iwasiman.hatenablog.com/entry/20210622-CSharp-HttpClient