【发布时间】:2011-03-24 12:15:27
【问题描述】:
在 C# 中使用 Web 浏览器控件或 http 请求,当网站创建(或尝试)cookie 时,有没有办法捕获和显示该 cookie?
【问题讨论】:
标签: c# .net http cookies webbrowser-control
在 C# 中使用 Web 浏览器控件或 http 请求,当网站创建(或尝试)cookie 时,有没有办法捕获和显示该 cookie?
【问题讨论】:
标签: c# .net http cookies webbrowser-control
当然,您可以使用 Fiddler 或 FireBug 等工具来捕获和检查会话期间发送的请求和响应。我对 Fiddler 比较熟悉,所以我的答案和示例都基于它。
例如,如果我登录到我公司的 Outlook Web Access 门户,我输入我的用户名和密码,然后 OWA 客户端将会话 cookie 写入我的计算机。如果我在登录时运行 Fiddler,我可以看到由于成功登录,此 cookie 被写入服务器响应的一部分:
**Cookies / Login**
Set-Cookie: sessionid=d8ff0256-7339-4049-81c2-fae98f7c3ed5:0x409; path=/
如果有更多的 cookie 被发送下来,您会看到它们列在 Cookies 组下。
如果我单击所请求的资源(成功登录后转到的页面),然后单击 Fiddler 响应部分中的标题选项卡,我可以看到这些 cookie。
希望这会有所帮助!
【讨论】:
是的,cookie 在 Set-Cookie 标头中返回。您可以使用HttpWebResponse.Headers 集合来查看所有标题并读出cookie,或者也可以使用Cookies 集合为您包装它。
【讨论】: