QWebEngineCookieStore Class

The QWebEngineCookieStore class provides access to Chromium's cookies. 更多...

头: #include <QWebEngineCookieStore>
Since: Qt 5.6
继承: QObject

该类在 Qt 5.6 引入。

公共类型

struct FilterRequest

公共函数

virtual ~QWebEngineCookieStore ()
void deleteAllCookies ()
void deleteCookie (const QNetworkCookie & cookie , const QUrl & origin = QUrl())
void deleteSessionCookies ()
void loadAllCookies ()
void setCookie (const QNetworkCookie & cookie , const QUrl & origin = QUrl())
void setCookieFilter (const std::function<bool (const FilterRequest &)> & filterCallback )
void setCookieFilter (std::function<bool (const FilterRequest &)> && filterCallback )

信号

void cookieAdded (const QNetworkCookie & cookie )
void cookieRemoved (const QNetworkCookie & cookie )

详细描述

The class allows to access HTTP cookies of Chromium for a specific profile. It can be used to synchronize cookies of Chromium and the QNetworkAccessManager , as well as to set, delete, and intercept cookies during navigation. Because cookie operations are asynchronous, the user can choose to provide a callback function to get notified about the success of the operation. The signal handlers for removal and addition should not be used to execute heavy tasks, because they might block the IO thread in case of a blocking connection.

使用 QWebEngineProfile::cookieStore () 和 QQuickWebEngineProfile::cookieStore () to access the cookie store object for a specific profile.

成员函数文档编制

[signal] void QWebEngineCookieStore:: cookieAdded (const QNetworkCookie & cookie )

This signal is emitted whenever a new cookie is added to the cookie store.

[signal] void QWebEngineCookieStore:: cookieRemoved (const QNetworkCookie & cookie )

此信号被发射每当 cookie is deleted from the cookie store.

[virtual] QWebEngineCookieStore:: ~QWebEngineCookieStore ()

销毁此 QWebEngineCookieStore 对象。

void QWebEngineCookieStore:: deleteAllCookies ()

Deletes all the cookies in the cookie store.

注意: This operation is asynchronous.

另请参阅 loadAllCookies ().

void QWebEngineCookieStore:: deleteCookie (const QNetworkCookie & cookie , const QUrl & origin = QUrl())

Deletes cookie from the cookie store. It is possible to provide an optional origin URL argument to limit the scope of the cookie to be deleted.

注意: This operation is asynchronous.

void QWebEngineCookieStore:: deleteSessionCookies ()

Deletes all the session cookies in the cookie store. Session cookies do not have an expiration date assigned to them.

注意: This operation is asynchronous.

另请参阅 loadAllCookies ().

void QWebEngineCookieStore:: loadAllCookies ()

Loads all the cookies into the cookie store. The cookieAdded () signal is emitted on every loaded cookie. Cookies are loaded automatically when the store gets initialized, which in most cases happens on loading the first URL. However, calling this function is useful if cookies should be listed before entering the web content.

注意: This operation is asynchronous.

void QWebEngineCookieStore:: setCookie (const QNetworkCookie & cookie , const QUrl & origin = QUrl())

添加 cookie to the cookie store.

注意: cookie specifies a QNetworkCookie::domain () that does not start with a dot, a dot is automatically prepended. To limit the cookie to the exact server, omit QNetworkCookie::domain () and set origin 代替。

The provided URL should also include the scheme.

注意: This operation is asynchronous.

void QWebEngineCookieStore:: setCookieFilter (const std::function < bool (const FilterRequest &)> & filterCallback )

Installs a cookie filter that can prevent sites and resources from using cookies. The filterCallback must be a lambda or functor taking a FilterRequest structure. If the cookie access is to be accepted, the filter function should return true ; otherwise it should return false .

The following code snippet illustrates how to set a cookie filter:

profile->cookieStore()->setCookieFilter(
    [&allowThirdPartyCookies](const QWebEngineCookieStore::FilterRequest &request)
    { return !request.thirdParty || allowThirdPartyCookies; }
);
					

You can unset the filter with a nullptr 自变量。

The callback should not be used to execute heavy tasks since it is running on the IO thread and therefore blocks the Chromium networking.

注意: The cookie filter also controls other features with tracking capabilities similar to those of cookies; including IndexedDB, DOM storage, filesystem API, service workers, and AppCache.

该函数在 Qt 5.11 引入。

另请参阅 deleteAllCookies () 和 loadAllCookies ().

void QWebEngineCookieStore:: setCookieFilter ( std::function < bool (const FilterRequest &)> && filterCallback )

这是重载函数。

该函数在 Qt 5.11 引入。