delphi - 让 WinInet 与 Internet Explorer 共享 session /cookie

标签 delphi cookies wininet

我想要的是以下内容:

1) 使用 Internet Explorer 登录页面

2) 让我的使用 WinInet API 爬网站点的软件重用相同的 cookie/ session (即,爬网程序“已登录”)

我自己尝试使用 INDY 构建登录,虽然 session cookie 登录效果很好,但现在许多网站使用更复杂的登录机制,将客户端和服务器端的内容结合起来进行初始登录。

...

我相信的原因是WordPress、ASP.Net 等使用客户端/AJAX 以及哈希/时间/用户代理代码/检查等类似功能,我可以在 30 秒后从我自己的爬虫程序发送完全相同的 HTTP header ,例如登录时使用了 FireFox,但不起作用。

(将此与基于 session cookie 的正常登录进行比较,我自己的爬虫程序可以正常登录。)

最佳答案

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

保护模式 Cookie 存储在 %appdata%\Microsoft\Windows\Cookies\Low 中,非保护模式 Cookie 存储在 %appdata%\Microsoft\Windows\Cookies 中强>.

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

关于delphi - 让 WinInet 与 Internet Explorer 共享 session /cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14964691/

相关文章:

c++ - 发送文件到 HTTP 服务器 (C++ Wininet)

delphi - 在delphi中测试泛型的类型

delphi - 在 Delphi 中高效填充组合框

delphi - brcc32 位图格式无效

excel用$返回工作表名

magento - Google Analytics(分析)代码未显示在Magento 2页面代码中

python - Flask session 不会在 Chrome 浏览器上持续存在,不会创建 session cookie

javascript - 如何使用 jquery cookie 插件确定 cookie 是否存在?

c++ - MFC 应用程序中 w/wininet 和 winhttp 编译错误

sockets - 为什么套接字不设置为非阻塞模式?