0

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

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

欢迎任何线索:)

4

1 回答 1

1

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

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

于 2013-03-02T11:48:34.317 回答