.NET 4.5 HttpClientを使用してWebサイトにログインし、Cookieを受信しようとしています。試してみる直前に中断してCookieContainerを確認しましたが、Cookieが含まれていません。ただし、応答は200ステータスを返します。
private async void Login(string username, string password)
{
try
{
Uri address = new Uri(@"http://website.com/login.php");
CookieContainer cookieJar = new CookieContainer();
HttpClientHandler handler = new HttpClientHandler()
{
CookieContainer = cookieJar
};
handler.UseCookies = true;
handler.UseDefaultCredentials = false;
HttpClient client = new HttpClient(handler as HttpMessageHandler)
{
BaseAddress = address
};
HttpContent content = new StringContent(string.Format("username={0}&password={1}&login=Login&keeplogged=1", username, password));
HttpResponseMessage response = await client.PostAsync(client.BaseAddress, content);
}
これが機能しない理由がわかりません。.NET4スタイルを試してみると問題なく動作します。