QNetworkCookieJar Class
La classe QNetworkCookieJar implémente un simple pot d'objets QNetworkCookie. Plus d'informations...
| En-tête : | #include <QNetworkCookieJar> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Network)target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake : | QT += network |
| Héritages : | QObject |
Fonctions publiques
| QNetworkCookieJar(QObject *parent = nullptr) | |
| virtual | ~QNetworkCookieJar() |
| virtual QList<QNetworkCookie> | cookiesForUrl(const QUrl &url) const |
| virtual bool | deleteCookie(const QNetworkCookie &cookie) |
| virtual bool | insertCookie(const QNetworkCookie &cookie) |
| virtual bool | setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url) |
| virtual bool | updateCookie(const QNetworkCookie &cookie) |
Fonctions protégées
| QList<QNetworkCookie> | allCookies() const |
| void | setAllCookies(const QList<QNetworkCookie> &cookieList) |
| virtual bool | validateCookie(const QNetworkCookie &cookie, const QUrl &url) const |
Description détaillée
Les cookies sont de petits éléments d'information que les protocoles sans état tels que HTTP utilisent pour conserver certaines informations persistantes entre les requêtes.
Un cookie est défini par un serveur distant lorsqu'il répond à une requête et il s'attend à ce que le même cookie soit renvoyé lorsque d'autres requêtes sont envoyées.
La boîte à cookies est l'objet qui contient tous les cookies définis lors des requêtes précédentes. Les navigateurs web sauvegardent leurs cookies sur le disque afin de conserver les cookies permanents entre les différentes invocations de l'application.
QNetworkCookieJar n'implémente pas le stockage permanent : il conserve uniquement les cookies en mémoire. Lorsque l'objet QNetworkCookieJar est supprimé, tous les cookies qu'il contenait sont également supprimés. Si vous souhaitez sauvegarder les cookies, vous devez dériver de cette classe et implémenter la sauvegarde sur disque dans votre propre format de stockage.
Cette classe ne met en œuvre que la sécurité de base recommandée par les spécifications relatives aux cookies et ne met en œuvre aucune politique d'acceptation des cookies (elle accepte tous les cookies définis par n'importe quelle requête). Afin d'outrepasser ces règles, vous devez réimplémenter les fonctions virtuelles cookiesForUrl() et setCookiesFromUrl(). Elles sont appelées par QNetworkReply et QNetworkAccessManager lorsqu'elles détectent de nouveaux cookies et lorsqu'elles en ont besoin.
Voir aussi QNetworkCookie, QNetworkAccessManager, QNetworkReply, QNetworkRequest, et QNetworkAccessManager::setCookieJar().
Documentation des fonctions membres
[explicit] QNetworkCookieJar::QNetworkCookieJar(QObject *parent = nullptr)
Crée un objet QNetworkCookieJar et définit l'objet parent comme étant parent.
La boîte à biscuits est initialisée comme étant vide.
[virtual noexcept] QNetworkCookieJar::~QNetworkCookieJar()
Détruit l'objet "cookie jar" et supprime tous les cookies qui y sont stockés. Les cookies ne sont pas sauvegardés sur le disque dans l'implémentation par défaut de QNetworkCookieJar.
Si vous avez besoin d'enregistrer les cookies sur le disque, vous devez dériver de QNetworkCookieJar et enregistrer les cookies sur le disque vous-même.
[protected] QList<QNetworkCookie> QNetworkCookieJar::allCookies() const
Renvoie tous les cookies stockés dans cette boîte à cookies. Cette fonction convient aux classes dérivées pour enregistrer les cookies sur le disque, ainsi que pour mettre en œuvre l'expiration des cookies et d'autres politiques.
Voir aussi setAllCookies() et cookiesForUrl().
[virtual] QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const
Renvoie les cookies à ajouter lorsqu'une demande est envoyée à url. Cette fonction est appelée par la fonction par défaut QNetworkAccessManager::createRequest(), qui ajoute les cookies renvoyés par cette fonction à la demande envoyée.
Si plusieurs cookies portant le même nom sont trouvés, mais avec des chemins d'accès différents, celui qui a le chemin le plus long est renvoyé avant celui qui a le chemin le plus court. En d'autres termes, cette fonction renvoie les cookies classés par ordre décroissant de longueur de chemin.
La classe QNetworkCookieJar par défaut ne met en œuvre qu'une politique de sécurité très basique (elle s'assure que le domaine et le chemin des cookies correspondent à ceux de la réponse). Pour améliorer la politique de sécurité avec vos propres algorithmes, surchargez cookiesForUrl().
Voir aussi setCookiesFromUrl() et QNetworkAccessManager::setCookieJar().
[virtual] bool QNetworkCookieJar::deleteCookie(const QNetworkCookie &cookie)
Supprime de la jarre à cookies le cookie dont l'identifiant est le même que celui de cookie.
Retourne true si un cookie a été supprimé, false sinon.
Voir aussi QNetworkCookie::hasSameIdentifier().
[virtual] bool QNetworkCookieJar::insertCookie(const QNetworkCookie &cookie)
Ajoute cookie à cette boîte à biscuits.
Retourne true si cookie a été ajouté, false sinon.
Si un cookie avec le même identifiant existe déjà dans la boîte à cookies, il sera remplacé.
[protected] void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)
Définit la liste interne des cookies détenus par cette cookie jar à cookieList. Cette fonction convient aux classes dérivées pour implémenter le chargement des cookies à partir du stockage permanent, ou leurs propres politiques d'acceptation des cookies en réimplémentant setCookiesFromUrl().
Voir également allCookies() et setCookiesFromUrl().
[virtual] bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
Ajoute les cookies de la liste cookieList à cette boîte à cookies. Avant d'être insérés, les cookies sont normalisés.
Renvoie true si un ou plusieurs cookies sont définis pour url, sinon false.
Si un cookie existe déjà dans la boîte à cookies, il sera remplacé par ceux de cookieList.
La classe QNetworkCookieJar par défaut ne met en œuvre qu'une politique de sécurité très basique (elle s'assure que le domaine et le chemin d'accès des cookies correspondent à ceux de la réponse). Pour améliorer la politique de sécurité avec vos propres algorithmes, surchargez setCookiesFromUrl().
De plus, QNetworkCookieJar n'a pas de taille maximale pour les pots de cookies. Réimplémentez cette fonction pour éliminer les anciens cookies et faire de la place pour les nouveaux.
Voir aussi cookiesForUrl(), QNetworkAccessManager::setCookieJar(), et QNetworkCookie::normalize().
[virtual] bool QNetworkCookieJar::updateCookie(const QNetworkCookie &cookie)
Si un cookie ayant le même identifiant que cookie existe dans cette boîte à cookies, il sera mis à jour. Cette fonction utilise insertCookie().
Retourne true si cookie a été mis à jour, false si aucun cookie dans la boîte ne correspond à l'identifiant de cookie.
Voir également QNetworkCookie::hasSameIdentifier().
[virtual protected] bool QNetworkCookieJar::validateCookie(const QNetworkCookie &cookie, const QUrl &url) const
Renvoie true si le domaine et le chemin d'accès de cookie sont valides, false dans le cas contraire. Le paramètre url est utilisé pour déterminer si le domaine spécifié dans le cookie est autorisé.
© 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.