QNetworkCookieJar Class
La classe QNetworkCookieJar implémente un simple « jar » d'objets ` QNetworkCookie `. En savoir plus...
| En-tête : | #include <QNetworkCookieJar> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake : | QT += network |
| Hérite de : | 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 fragments d'informations que les protocoles sans état, tels que HTTP, utilisent pour conserver certaines informations persistantes d'une requête à l'autre.
Un cookie est défini par un serveur distant lorsqu’il répond à une requête et il s’attend à ce que ce même cookie lui soit renvoyé lors des requêtes suivantes.
Le « cookie jar » est l’objet qui contient tous les cookies définis lors des requêtes précédentes. Les navigateurs Web enregistrent leurs « cookie jars » sur le disque afin de conserver les cookies permanents d’une session à l’autre de l’application.
QNetworkCookieJar n’implémente pas de stockage permanent : il conserve uniquement les cookies en mémoire. Une fois l’objet QNetworkCookieJar supprimé, tous les cookies qu’il contenait seront également supprimés. Si vous souhaitez enregistrer les cookies, vous devez dériver de cette classe et implémenter l’enregistrement sur le disque dans votre propre format de stockage.
Cette classe implémente uniquement la sécurité de base recommandée par les spécifications relatives aux cookies et n’implémente aucune politique d’acceptation des cookies (elle accepte tous les cookies définis par n’importe quelle requête). Afin de redéfinir 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 ont besoin de cookies.
Voir également QNetworkCookie, QNetworkAccessManager, QNetworkReply, QNetworkRequest et QNetworkAccessManager::setCookieJar().
Documentation sur les fonctions membres
[explicit] QNetworkCookieJar::QNetworkCookieJar(QObject *parent = nullptr)
Crée un objet QNetworkCookieJar et définit l'objet parent comme étant parent.
Le cookie jar est initialisé à vide.
[virtual noexcept] QNetworkCookieJar::~QNetworkCookieJar()
Détruit cet objet « cookie jar » et supprime tous les cookies qui y sont stockés. Dans l'implémentation par défaut de ` QNetworkCookieJar `, les cookies ne sont pas enregistrés sur le disque.
Si vous avez besoin d'enregistrer les cookies sur le disque, vous devez créer une classe dérivée de ` QNetworkCookieJar ` et enregistrer vous-même les cookies sur le disque.
[protected] QList<QNetworkCookie> QNetworkCookieJar::allCookies() const
Renvoie tous les cookies stockés dans ce « cookie jar ». Cette fonction est destinée 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 également setAllCookies() et cookiesForUrl().
[virtual] QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const
Renvoie les cookies à ajouter lorsqu'une requête 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 requête en cours d'envoi.
Si plusieurs cookies portant le même nom mais ayant des chemins différents sont détectés, celui dont le chemin est le plus long est renvoyé avant celui dont le chemin est le plus court. En d’autres termes, cette fonction renvoie les cookies triés par ordre décroissant de longueur de chemin.
La classe par défaut QNetworkCookieJar n’implémente 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 renforcer la politique de sécurité à l’aide de vos propres algorithmes, redéfinissez la méthode cookiesForUrl().
Voir également ` setCookiesFromUrl()` et ` QNetworkAccessManager::setCookieJar()`.
[virtual] bool QNetworkCookieJar::deleteCookie(const QNetworkCookie &cookie)
Supprime du fichier de cookies le cookie dont l'identifiant correspond à celui de cookie.
Renvoie true si un cookie a été supprimé, false dans le cas contraire.
Voir aussi QNetworkCookie::hasSameIdentifier().
[virtual] bool QNetworkCookieJar::insertCookie(const QNetworkCookie &cookie)
Ajoute « cookie » à ce fichier cookie.
Renvoie true si cookie a été ajouté, false dans le cas contraire.
Si un cookie portant le même identifiant existe déjà dans le fichier de cookies, il sera écrasé.
[protected] void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)
Définit la liste interne des cookies conservés par ce « cookie jar » sur cookieList. Cette fonction permet aux classes dérivées de charger des cookies à partir d'un stockage permanent ou d'implémenter leurs propres politiques d'acceptation des cookies en réimplémentant la méthode setCookiesFromUrl().
Voir également allCookies() et setCookiesFromUrl().
[virtual] bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
Ajoute les cookies de la liste cookieList à ce « cookie jar ». Avant d'être ajouté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 le « cookie jar », il sera remplacé par ceux de cookieList.
La classe ` QNetworkCookieJar ` par défaut n'implémente 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 renforcer la politique de sécurité à l'aide de vos propres algorithmes, redéfinissez la méthode `setCookiesFromUrl()`.
Par ailleurs, ` QNetworkCookieJar ` ne dispose pas de taille maximale pour le « cookie jar ». Réimplémentez cette fonction pour supprimer les cookies les plus anciens afin de libérer de l’espace pour les nouveaux.
Voir également cookiesForUrl(), QNetworkAccessManager::setCookieJar() et QNetworkCookie::normalize().
[virtual] bool QNetworkCookieJar::updateCookie(const QNetworkCookie &cookie)
Si un cookie portant le même identifiant que cookie existe dans ce fichier de cookies, il sera mis à jour. Cette fonction utilise insertCookie().
Renvoie true si cookie a été mis à jour, false si aucun cookie du fichier 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 permet de 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.