Qt WebKit和永久Cookie

sno*_*kin 16 c++ cookies qt webkit qwebview

我有一个主窗口,其中有一个QWebView.我希望将某个网站(例如www.kdkdkkd.com)永久保留,因此每次用户关闭并重新打开浏览器时,他都不需要再次登录.

谢谢,

Mot*_*rom 26

你需要设置自己的"饼干罐".

  1. 使用QNetworkAccessManager::setCookieJar.
  2. 扩展QNetworkCookieJar- 因为在浏览器关闭时默认情况下不会保留cookie:

一旦QNetworkCookieJar对象被删除,其持有的所有cookie也会被丢弃.如果要保存cookie,则应从此类派生并将保存到磁盘实现为您自己的存储格式.(来自QNetworkCookieJar文档.)

您可以通过推送到每个上的永久存储QNetworkCookieJar::setCookiesFromUrl(最安全但最慢)或仅在浏览器窗口关闭时执行此操作(整体速度更快但安全性更低,就像异常退出时,cookie jar将无法保存).

请注意,某些cookie不应该被持久化,您可以使用它QNetworkCookie::isSessionCookie来确定这一点.