在C#中使用Web浏览器控件或http请求,当网站创建cookie(或尝试)时,有没有办法捕获并显示该cookie?
答案 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的“响应”部分中的“标题”选项卡。
希望这有帮助!