簡體   English   中英

如何在HttpWebRequest中獲取由“ Set-Cookie”設置的cookie?

[英]How can I get the cookies set by “Set-Cookie” in a HttpWebRequest?

我希望以下代碼產生一個非零值:

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

但是似乎沒有cookie出現在webRespone.Cookies 我很肯定Cookie在那里,因為我正在用Fiddler嗅探數據。 這是我得到的答復:

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

它與Cookie是否為HttpOnly嗎?

編輯

看來我可以通過HttpWebRequestCookieContainer來獲取它們,如果我打算繼續執行一系列請求/響應,那肯定很有用。 但是為什么無論如何我還是不能通過HttpWebResponse.Cookies字段訪問它們?

謝謝

沒錯,您需要向請求提交一個CookieContainer實例,然后引用該實例以查看Cookie。 基本上,HttpWebResponse不會在響應上直接公開標記為HttpOnly的cookie。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM