Cookies 获取使用WatiN设置的Cookie列表

Cookies 获取使用WatiN设置的Cookie列表,cookies,watin,Cookies,Watin,有没有一种方法可以通过WatiN获取网站设置的所有cookie的列表 WatiN中的IE Browser类提供了一个GetCookie方法,允许您检索特定的cookie,但我想迭代所有已设置的cookie 有两种方法可以让您获得cookie: CookieCollection cookies=\u browser.GetCookiesForUrl(新Uri(url)) 及 CookieContainer cookies=\u browser.GetCookieContainerForUrl(新U

有没有一种方法可以通过WatiN获取网站设置的所有cookie的列表

WatiN中的IE Browser类提供了一个
GetCookie
方法,允许您检索特定的cookie,但我想迭代所有已设置的cookie

有两种方法可以让您获得cookie:

CookieCollection cookies=\u browser.GetCookiesForUrl(新Uri(url))

CookieContainer cookies=\u browser.GetCookieContainerForUrl(新Uri(url))

但这两个都是空的。对特定cookie调用
GetCookie
方法也会返回null


有没有关于如何让它工作的建议?

好吧,我想这些方法应该能像预期的那样工作,但也许您正在尝试获取
HttpOnly
cookies?许多站点/web框架为重要的Cookie设置此标志,特别是在涉及“会话id”Cookie时。你不能用WatiN来读,而且读起来真的很难。我曾经在寻找解决方案,我得到的唯一一条是:


如果您想知道您试图获取cookie的站点是否在cookie上设置了
HttpOnly
标志,请使用并查看响应标题。

最近我不得不处理这种情况。起初我以为我要找的饼干是HttpOnly,但我用WireShark查看了一下,没有HttpOnly标志

不确定GetCookieContainerForUrl在这种情况下失败的原因,但客户端脚本调用显示cookie仍然存在:

ie.Eval("document.cookie");
在每次使用数据包嗅探之前,您可能希望尝试使用该语句