Sur cette page

QWebEngineCookieStore Class

La classe QWebEngineCookieStore permet d'accéder aux cookies de Chromium. Plus d'informations...

En-tête : #include <QWebEngineCookieStore>
CMake : find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake : QT += webenginecore
Héritages : QObject

Types publics

struct FilterRequest

Fonctions publiques

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)

Signaux

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

Description détaillée

Cette classe permet d'accéder aux cookies HTTP de Chromium pour un profil spécifique. Elle peut être utilisée pour synchroniser les cookies de Chromium et de QNetworkAccessManager, ainsi que pour définir, supprimer et intercepter les cookies pendant la navigation. Les opérations sur les cookies étant asynchrones, l'utilisateur peut choisir de fournir une fonction de rappel pour être informé du succès de l'opération. Les gestionnaires de signaux pour la suppression et l'ajout ne doivent pas être utilisés pour exécuter des tâches lourdes, car ils risquent de bloquer le thread IO en cas de connexion bloquante.

Utilisez QWebEngineProfile::cookieStore() et QQuickWebEngineProfile::cookieStore() pour accéder à l'objet cookie store d'un profil spécifique.

Documentation des fonctions membres

[virtual noexcept] QWebEngineCookieStore::~QWebEngineCookieStore()

Détruit cet objet QWebEngineCookieStore.

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

Ce signal est émis chaque fois qu'un nouveau cookie est ajouté au magasin de cookies.

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

Ce signal est émis lorsqu'un site cookie est supprimé de la base de données des cookies.

void QWebEngineCookieStore::deleteAllCookies()

Supprime tous les cookies de la base de données des cookies.

Remarque : cette opération est asynchrone.

Voir aussi loadAllCookies().

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

Supprime cookie de la base de données des cookies. Il est possible de fournir un argument URL origin facultatif pour limiter la portée du cookie à supprimer.

Remarque : cette opération est asynchrone.

void QWebEngineCookieStore::deleteSessionCookies()

Supprime tous les cookies de session dans le magasin de cookies. Les cookies de session n'ont pas de date d'expiration.

Remarque : cette opération est asynchrone.

Voir aussi loadAllCookies().

void QWebEngineCookieStore::loadAllCookies()

Charge tous les cookies dans le magasin de cookies. Le signal cookieAdded() est émis pour chaque cookie chargé. Les cookies sont chargés automatiquement lorsque le magasin est initialisé, ce qui, dans la plupart des cas, se produit lors du chargement de la première URL. Toutefois, il est utile d'appeler cette fonction si les cookies doivent être répertoriés avant d'entrer dans le contenu du site web.

Remarque : cette opération est asynchrone.

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

Ajoute cookie à la liste des cookies.

Remarque : si cookie spécifie un QNetworkCookie::domain() qui ne commence pas par un point, un point est automatiquement ajouté. Pour limiter le cookie au serveur exact, omettre QNetworkCookie::domain() et définir origin à la place.

L'URL fournie doit également inclure le schéma.

Remarque : cette opération est asynchrone.

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

Installe un filtre de cookies qui peut empêcher les sites et les ressources d'utiliser des cookies. L'adresse filterCallback doit être un lambda ou un foncteur prenant une structure FilterRequest. Si l'accès au cookie doit être accepté, la fonction de filtrage doit renvoyer true; sinon, elle doit renvoyer false.

L'extrait de code suivant illustre la mise en place d'un filtre pour les cookies :

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

Vous pouvez désactiver le filtre à l'aide d'un argument nullptr.

Le rappel ne doit pas être utilisé pour exécuter des tâches lourdes car il s'exécute sur le thread IO et bloque donc le réseau Chromium.

Note : Le filtre de cookie contrôle également d'autres fonctionnalités avec des capacités de suivi similaires à celles des cookies ; y compris IndexedDB, le stockage DOM, l'API du système de fichiers, les travailleurs de service, et AppCache.

Voir également deleteAllCookies() et loadAllCookies().

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

Il s'agit d'une fonction surchargée.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.