以编程方式在Internet Explorer中设置cookie

HyL*_*ian 6 windows cookies internet-explorer

我将首先解释一下这个场景:

我在计算机A内的IE浏览器我有一个插件,这样我就可以访问该文档对象的IE浏览器,这样我就可以抢在给定时间内的cookie.

我想将该cookie转移到另一台计算机B中的新浏览器.

为了在新计算机BI中启动浏览器使用InternetExplorer对象,我可以使用对象实例控制浏览器,但我不知道如何将第一台计算机A的cookie"注入"到新创建的IE浏览器.

我试过两种方法.

  • 首先,我尝试在使用WinInet API InternetSetCookie启动浏览器之前编写cookie .

  • 其次,我试图拦截BeforeNavigate2事件并在HTTP请求的标头中设置cookie.

但这些都没有奏效:(

是否可以在导航到网站之前在新的Internet Explorer中设置cookie,从而能够维护用户在之前的计算机中拥有的内容?

谢谢 :)

更新:我仍然遇到这个问题,并使用wireshark进行了一些其他调查.

在BeforeNavigate2的情况下,IExplore只是忽略标题中的"Cookie:"值.

在InternetSetCookie的情况下,它似乎正常工作.它创建常规IExplore导航创建的相同文件,但是当您转到该页面时,IE将忽略包含cookie的文件.

我用来编写cookie的代码是:

string cookie = "COOKIEVALUES";
InternetSetCookie("http://www.facebook.com/", "", cookie+";expires=Sat, 08-Jan-2014 00:00:00 GMT");
Run Code Online (Sandbox Code Playgroud)

i_a*_*orf 3

InternetSetCookie() 应该是正确的方法。您是否确认您设置的值正确?您使用的是规范化网址吗?您是否指定到期日期?URL 错误(我不确定诸如尾随 / 之类的事情是否重要)将产生明显的后果,如果您不设置过期日期,则 cookie 只会在当前进程的内存中保存。