c++ - Qt WebKit 和永久 Cookie

标签 c++ qt cookies webkit qwebview

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

谢谢,

最佳答案

您需要设置自己的“Cookie Jar”。

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

Once the QNetworkCookieJar object is deleted, all cookies it held will be discarded as well. If you want to save the cookies, you should derive from this class and implement the saving to disk to your own storage format. (From QNetworkCookieJar documentation.)

您可以通过推送到每个 QNetworkCookieJar::setCookiesFromUrl 上的永久存储来做到这一点。 (最安全但最慢)或仅在浏览器窗口关闭时(整体速度更快但安全性较低,因为如果您异常退出 cookie jar 将不会被保存)。

请注意 some cookies不应该被持久化,你可以使用 QNetworkCookie::isSessionCookie来确定这一点。

关于c++ - Qt WebKit 和永久 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5406436/

相关文章:

c++ - 如何在 C/C++ 程序中嵌入 GNU Octave?

python - 如何从 Qtable 获取值

cookies - Cloudfront 签名 cookie 并同时访问 s3 存储桶中的多个路径

c++ - 如何减去两个 LIFETIME?

c++ - ffmpeg - g++ 的编译问题

c++ - 如何在 Windows 中使用 eclipse 编译 dlib 示例?

javascript - 在 QML 中访问 QList 对象

c++ - 使用Qt录制系统声音

swift - 使用 sessionOnly :False 设置 cookie

php - 使用带有 setcookie 的 explode 设置一个 cookie 具有多个名称和值