清除 QtWebEngine 中的 cookie
Clear cookies in QtWebEngine
我正在将应用程序从 QtWebKit 升级到 QtWebEngine。该应用程序依赖于 WebKit 在关闭应用程序后不保留 cookie,但 WebEngine 似乎默认保留它们。
我对Qt一点都不熟悉。我一直在浏览文档,但我似乎无法找到正确的 API 调用来删除它们。该应用程序只有一个简单的前端 QWebEngineView。
有QWebEngineProfile
class可以用。
void QWebEngineProfile::setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy
newPersistentCookiesPolicy)
Sets the policy for persistent cookies to newPersistentCookiesPolicy.
所以你可以这样做:
webEngineView->page()->profile()->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies);
如果不需要更改PersistentCookiesPolicy,而只需要清理Cookies,则可以使用class QWebEngineCookieStore
.[=13]的方法deleteAllCookies()
=]
所以你可以这样做:
webEngineView->page()->profile()->cookieStore()->deleteAllCookies();
我正在将应用程序从 QtWebKit 升级到 QtWebEngine。该应用程序依赖于 WebKit 在关闭应用程序后不保留 cookie,但 WebEngine 似乎默认保留它们。
我对Qt一点都不熟悉。我一直在浏览文档,但我似乎无法找到正确的 API 调用来删除它们。该应用程序只有一个简单的前端 QWebEngineView。
有QWebEngineProfile
class可以用。
void QWebEngineProfile::setPersistentCookiesPolicy(QWebEngineProfile::PersistentCookiesPolicy newPersistentCookiesPolicy)
Sets the policy for persistent cookies to newPersistentCookiesPolicy.
所以你可以这样做:
webEngineView->page()->profile()->setPersistentCookiesPolicy(QWebEngineProfile::NoPersistentCookies);
如果不需要更改PersistentCookiesPolicy,而只需要清理Cookies,则可以使用class QWebEngineCookieStore
.[=13]的方法deleteAllCookies()
=]
所以你可以这样做:
webEngineView->page()->profile()->cookieStore()->deleteAllCookies();