HttpClient は、認証 Cookie を自動的に管理します。複数のリクエストに対して同じ HttpClient インスタンスを再利用するようにしてください。内部では、HttpClient は CookieContainer を持つ HttpClientHandler のインスタンスを作成します。
NerdDinner サイトにログインして、保護されたページを取得する例を次に示します。
var httpClient = new HttpClient();
// Create login payload
var body = new Dictionary<string, string>()
{
{"UserName", "bob"},
{"Password", "xyz"},
{"RememberMe", "false"}
};
var content = new FormUrlEncodedContent(body);
// POST to login form
var response = await httpClient.PostAsync("http://www.nerddinner.com/Account/LogOn?returnUrl=%2F", content);
// Make new request to secured resource
var myresponse = await httpClient.GetAsync("http://www.nerddinner.com/Dinners/My");
var stringContent = await myresponse.Content.ReadAsStringAsync();