The QWebEngineCookieStore class provides access to Chromium's cookies. 更多...
头: | #include <QWebEngineCookieStore> |
CMake: |
find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
qmake: | QT += webenginecore |
继承: | QObject |
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.
[virtual noexcept]
QWebEngineCookieStore::
~QWebEngineCookieStore
()
销毁此 QWebEngineCookieStore 对象。
[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.
Deletes all the cookies in the cookie store.
注意: This operation is asynchronous.
另请参阅 loadAllCookies ().
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.
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 ().
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.
添加 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.
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.
另请参阅 deleteAllCookies () 和 loadAllCookies ().
这是重载函数。