我有两个问题。
问题1:HttpWebResponse.Cookies和WebResponse.Headers [“Set-Cookie”]有什么区别? “WebResponse.Headers [”Set-Cookies“]”无效的http cookie吗?
问题2:如何从HttpWebResponse获取具有相同名称的重复标头的值?
以下是我从Fiddle复制的原始回复。如您所见,有两个标题具有相同名称“Set-Cookie”。我总是在HttpWebResponse中获得第一个。来自Google分析的“__utms”Cookie?
HTTP/1.1 200 OK Date: Tue, 27 Dec 2011 09:47:53 GMT Chunk: 10210620 Set-Cookie: ASP.NET_SessionId=34ft0d45uboqv245bev2nwrj; path=/; HttpOnly Set-Cookie: __utms=A51743627D9238C3997BABD76D7D75; domain=ibc88.com; expires=Wed, 28-Dec-2011 09:47:53 GMT; path=/ Content-Type: text/html; charset=utf-8 Cache-Control: private, no-store Content-Length: 2543
答案 0 :(得分:2)
您是否注意到ASP.NET_SessionId
Cookie中的HttpOnly
标记?此标志基本上表示客户端无法读取此cookie。您正在使用WebRequest或WebClient或其他任何方式发送客户端请求,但您将永远无法读取此cookie值。只有服务器才能读取它。客户端将在后续请求中存储和发送它,但您永远无法读取其值。