在C#中捕获cookie响应

时间:2010-08-03 01:39:16

标签: c# .net http cookies webbrowser-control

在C#中使用Web浏览器控件或http请求,当网站创建cookie(或尝试)时,有没有办法捕获并显示该cookie?

2 个答案:

答案 0 :(得分:4)

是的,Cookie会在Set-Cookie标题中返回。您可以使用HttpWebResponse.Headers集合查看所有标题并读出Cookie,或者还有Cookies集合为您包装。

答案 1 :(得分:2)

当然,您可以使用Fiddler或FireBug等工具来捕获和检查会话期间发送的请求和响应。我对Fiddler比较熟悉,所以我的答案就是基于它。

例如,如果我登录到我公司的Outlook Web Access门户,则输入我的用户名和密码,OWA客户端将会话cookie写入我的计算机。如果我在登录时运行Fiddler,由于登录成功,我可以看到此cookie是作为服务器响应的一部分写的:

**Cookies / Login**
  Set-Cookie: sessionid=d8ff0256-7339-4049-81c2-fae98f7c3ed5:0x409; path=/

如果有更多的cookie被发送下来,您会看到它们列在Cookies组下。

如果我点击所请求的资源(我成功登录后访问的页面),我可以看到这些cookie,然后单击Fiddler的“响应”部分中的“标题”选项卡。

希望这有帮助!