POST メソッドを使用して Web サイトに自動的にログインしようとしていますが、HttPWebResponse メソッドが HttpOnly としてマークされた Cookie を便利にスキップすることを除いて、すべて正常に動作しているようです。なんとか読める方法はないでしょうか。
public CookieContainer _cookies = new CookieContainer();
私が持っているコードを下に
request.CookieContainer = _cookies;
CookieContainer を使用する場合、HttpOnly Cookie はアトミックに処理されるため、それらの読み取りについて心配する必要はないことを読みました。しかし、明らかにそうではありません。フィドラーを使用すると、4つのCookieを取得できますが、response.Cookiesのサイズが3の場合、同じコードを使用すると次のリクエストが拒否されます。助けてください!!
完全なコードは次のとおりです。
HttpWebRequest request = CreateRequest(uri);
request.Method = "POST";
request.GetRequestStream().Write(data, 0, data.Length);
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
return DecodeResponse(response);
DecodeResponse は次のように機能します
foreach (System.Net.Cookie cookie in response.Cookies)
{
Console.WriteLine("Cookie:");
Console.WriteLine(cookie.HttpOnly);
_cookies.Add(new Uri(response.ResponseUri.GetLeftPart(UriPartial.Authority)), cookie);
}