首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT5.6 QWebEngine不保存cookie

QT5.6 QWebEngine不保存cookie
EN

Stack Overflow用户
提问于 2016-05-20 01:09:09
回答 1查看 3.2K关注 0票数 5

我正在创建名为"webengine“的简易QT应用程序。

代码语言:javascript
复制
pWebView = new QWebEngineView(this);
pWebView->load(QUrl("http://technoz.ru"));
pWebView->show();
// On application close
delete pWebView;

应用程序为存储和cookie创建一个名为"webengine“的标准文件夹。域设置一个24小时的cookie。但是在关闭并再次打开应用程序之后,cookie丢失了。在文件夹"webengine“中创建的Сookies文件-空(我在sqlbrowser中检查它)。但是,如果你停留在30-40秒,饼干就会被保存。

为什么没有立即保存cookie,以及如何立即保存?

在测试期间,QT( are )会在30秒(常量)内自动通过浏览器存储cookie,如果运行时间较短,则不会保存cookies。这次能改变吗?我试着使用标志--剖析--刷新=5,但是没有用。

假设浏览器在关闭浏览器时必须保留存储(Cookie),但它不保存,那么它是否是bug QT?

我可以从源代码构建QT,а并在源代码中找到和更改这个设置,但是,也许这个问题还有其他的解决方案……

感谢所有的人,发现了它的缺陷: https://bugreports.qt.io/browse/QTBUG-52121

EN

回答 1

Stack Overflow用户

发布于 2016-07-13 21:54:42

您必须编辑QWebEngineProfile的cookie存储策略。如果使用的是默认配置文件,请使用:

代码语言:javascript
复制
QWebEngineProfile::defaultProfile()->setPersistentCookiesPolicy(QWebEngineProfile::ForcePersistentCookies)

会话和持久cookie都保存到磁盘并从磁盘中还原。您可以选择要保存cookie和缓存数据的文件夹:

代码语言:javascript
复制
QWebEngineProfile* defaultProfile = QWebEngineProfile::defaultProfile();
defaultProfile->setCachePath("your folder");
defaultProfile->setPersistentStoragePath("your folder"); 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37336396

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档