0

次のコードがゼロ以外の値を生成することを期待していました:

var webRequest = (HttpWebRequest) WebRequest.Create(loginUrl);
var webResponse = (HttpWebResponse)webRequest.GetResponse();
Console.WriteLine(webResponse.Cookies.Count);

まだ Cookie が表示されないようですwebRespone.Cookies。Fiddler でデータを盗聴しているので、Cookie があることは確かです。これは私が得ている応答です:

HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/7.5
Set-Cookie: __Abc=Def; path=/; HttpOnly
PS-ResponseTime: 00:00:00.0624001
PS-Build: 2013-03-19-11-36-59
PS-Node: 02
Date: Tue, 19 Mar 2013 21:14:51 GMT
Content-Length: 57872

クッキーが であるという事実と関係がありHttpOnlyますか?

編集

を介してそれらを取得できるようです。これは、一連HttpWebRequestCookieContainer要求/応答に進む場合に確かに役立ちます。HttpWebResponse.Cookiesしかし、とにかく、フィールドから同じようにアクセスできないのはなぜですか?

ありがとう

4

1 に答える 1

0

その通りです。リクエストに CookieContainer のインスタンスを渡し、そのインスタンスを参照して Cookie を確認する必要があります。基本的に、HttpWebResponse は、HttpOnly としてマークされた応答で Cookie を直接公開しません。

于 2013-03-19T23:46:48.260 に答える