3

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);

}

4

1 に答える 1