QWebFrame load() 在初始页面加载时不发送 cookie

QWebFrame load() not sending cookies upon initial page load

本文关键字:加载 cookie load QWebFrame      更新时间:2023-10-16

我正在使用QtWebkit在C++/Qt中实现浏览器。当我使用 QWebView 实例在其中打开一个新选项卡并使用 load() 加载 URL 时,页面加载正常,但是当它是一个我使用 cookie 登录的网站时,它看起来好像我根本没有登录,因为该页面的 cookie 没有与 HTTP 请求一起发送(使用 SocketSniff 验证)。

我认为唯一可能有所作为的是我创建的自定义饼干罐,但我不确定它可能是什么,因为饼干罐在其他情况下工作正常。您可以在浏览器项目页面上的 Github 链接中找到完整的源代码:http://www.mayaposch.com/wildfox.php 和 Github 链接:https://github.com/MayaPosch/WildFox

欢迎任何线索:)

好吧,我终于发现了问题所在。我将其缩小到我实现的自定义cookiejar,它具有包含新cookie和访问cookie的内存结构,并将非会话cookie存储在磁盘上的SQLite结构中。问题在于,在第一次加载一个网站后,它会在SQLite数据库中找到cookie,将它们加载到内存结构中,但不使用它们。

小故障带来大后果,一旦你开始处理它,就很容易弄清楚。对于在这个问题上浪费您的时间,我深表歉意。希望这个答案能帮助某人,尽管:)