- Products -


Software


NEWS


Special



- Knowledge -


Category × Tag



- Like -

公開
作成日:2022/08/17 17:49:29
更新日:2022/08/17 17:57:59

C#でWEBサービスを呼ぶ、リクエストする方法

・HttpClientクラスを使用してリクエストを実行する。
・以下にサンプルコードを示す。

使い方




// 呼び出す
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


Category



Tag




関連記事


{{tmp.name}}

{{article.category}} {{article.title}}