让WinInet与Internet Explorer共享会话/ cookie

时间:2013-02-19 18:24:21

标签: delphi cookies wininet

我想要的是以下内容:

1) 使用Internet Explorer登录页面

2) 让我使用WinInet API抓取网站的软件重复使用相同的Cookie /会话(即抓取工具已“登录”)

我尝试使用INDY自己构建登录,虽然会话cookie登录运行良好,但许多网站使用更复杂的登录机制,现在将客户端和服务器端组合起来进行初始登录。

...

我相信的原因,例如WordPress,ASP.Net等使用客户端/ AJAX以及散列/时间/用户代码/检查等等,我可以在30秒后从我自己的爬虫程序发送完全相同的HTTP头,例如,登录期间使用FireFox,但无法使用。

(将此与基于会话cookie的正常登录进行比较,我自己的抓取程序将正常登录。)

1 个答案:

答案 0 :(得分:2)

IE默认情况下不会共享“互联网cookie”。在工具> 互联网选项> 安全性,有不同的区域。 Internet 区域默认为启用保护模式,您无法使用Wininet API访问此Cookie。但是,本地Intranet 区域默认情况下未启用保护模式,因此您可以使用Wininet API访问此Cookie。

受保护模式Cookie存储在%appdata%\ Microsoft \ Windows \ Cookies \ Low 中,而非受保护模式Cookie存储在%appdata%\ Microsoft \ Windows \ Cookies

要修复您的软件,请从 Internet 区域取消选中启用保护模式,重新启动IE并登录您的网站以再次获取Cookie。