使用C#以编程方式返回Javascript管理的cookie

Return Javascript managed cookies programmatically using C#

本文关键字:Javascript 管理 cookie 返回 方式 编程 使用      更新时间:2023-09-26

我正在尝试以编程方式ping一个网站(通过控制台应用程序),并返回该网站使用的所有cookie的详细信息。

我使用的以下方法只捕获那些通过头请求管理的cookie,而忽略了使用Javascript设置的cookie:

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.CookieContainer = new CookieContainer();
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0)";
request.Method = "GET";
response = (HttpWebResponse)request.GetResponse();
foreach (Cookie c in response.Cookies)
{
   cookie.Add(c);
}

有人能为如何将其扩展到包括javascript配置的cookie提供建议吗?

谢谢!

嗯,不确定这会有多大帮助,但。。。

你问是否有一种简单的方法可以获得由客户端javascript动态创建的cookie,答案是否定的,没有(除非我遗漏了什么)。

有没有更难的方法,比如包装.NET浏览器控件,让javascript通过自动web脚本执行,然后抓取DOM。。。不过对我来说这不是个好主意。

欢迎有其他想法。

刚刚实现了接近我想要的目标(仍在测试解决方案,似乎缺少了一些来自第三方的跟踪cookie!)。然而,我所做的是使用Selenium和Chrome驱动程序可执行文件。它所做的是打开chrome的一个实例,导航到URL,并取回所有动态生成的信息,然后可以使用C#查询这些信息。:)