HttpClient の HttpRequestMessage に Cookie を設定するにはどうすればいいですか? 質問する

HttpClient の HttpRequestMessage に Cookie を設定するにはどうすればいいですか? 質問する

私は、Web API を使用して、HttpClientアカウントを識別する HTTP Cookie の形式でログインを必要とするエンドポイントへの投稿を実行しようとしています (これは#ifdefリリース バージョンから削除されたものです)。

にクッキーを追加するにはどうすればいいですかHttpRequestMessage?

ベストアンサー1

リクエストにカスタム Cookie 値を設定する方法は次のとおりです。

var baseAddress = new Uri("http://example.com");
var cookieContainer = new CookieContainer();
using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer })
using (var client = new HttpClient(handler) { BaseAddress = baseAddress })
{
    var content = new FormUrlEncodedContent(new[]
    {
        new KeyValuePair<string, string>("foo", "bar"),
        new KeyValuePair<string, string>("baz", "bazinga"),
    });
    cookieContainer.Add(baseAddress, new Cookie("CookieName", "cookie_value"));
    var result = await client.PostAsync("/test", content);
    result.EnsureSuccessStatusCode();
}

おすすめ記事