QNetworkCookie Class
La classe QNetworkCookie contient un cookie réseau. Plus d'informations...
| En-tête : | #include <QNetworkCookie> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Network)target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake : | QT += network |
- Liste de tous les membres, y compris les membres hérités
- QNetworkCookie fait partie des classes implicitement partagées.
Types publics
| enum | RawForm { NameAndValueOnly, Full } |
(since 6.1) enum class | SameSite { Default, None, Lax, Strict } |
Fonctions publiques
| QNetworkCookie(const QByteArray &name = QByteArray(), const QByteArray &value = QByteArray()) | |
| QNetworkCookie(const QNetworkCookie &other) | |
| ~QNetworkCookie() | |
| QString | domain() const |
| QDateTime | expirationDate() const |
| bool | hasSameIdentifier(const QNetworkCookie &other) const |
| bool | isHttpOnly() const |
| bool | isSecure() const |
| bool | isSessionCookie() const |
| QByteArray | name() const |
| void | normalize(const QUrl &url) |
| QString | path() const |
(since 6.1) QNetworkCookie::SameSite | sameSitePolicy() const |
| void | setDomain(const QString &domain) |
| void | setExpirationDate(const QDateTime &date) |
| void | setHttpOnly(bool enable) |
| void | setName(const QByteArray &cookieName) |
| void | setPath(const QString &path) |
(since 6.1) void | setSameSitePolicy(QNetworkCookie::SameSite sameSite) |
| void | setSecure(bool enable) |
| void | setValue(const QByteArray &value) |
| void | swap(QNetworkCookie &other) |
| QByteArray | toRawForm(QNetworkCookie::RawForm form = Full) const |
| QByteArray | value() const |
| bool | operator!=(const QNetworkCookie &other) const |
| QNetworkCookie & | operator=(const QNetworkCookie &other) |
| bool | operator==(const QNetworkCookie &other) const |
Membres publics statiques
| QList<QNetworkCookie> | parseCookies(QByteArrayView cookieString) |
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.
QNetworkCookie contient un cookie de ce type, tel qu'il a été reçu du réseau. Un cookie a un nom et une valeur, mais ceux-ci sont opaques à l'application (c'est-à-dire que les informations qu'ils contiennent n'ont aucune signification pour l'application). Un cookie est associé à un nom de chemin et à un domaine, qui indiquent quand le cookie doit être renvoyé au serveur.
Un cookie peut également avoir une date d'expiration, indiquant sa validité. Si la date d'expiration n'est pas présente, le cookie est considéré comme un "cookie de session" et doit être supprimé lorsque l'application se termine (ou lorsque son concept de session est terminé).
QNetworkCookie permet d'analyser un cookie à partir du format d'en-tête HTTP à l'aide de la fonction QNetworkCookie::parseCookies(). Cependant, lorsqu'il est reçu dans un QNetworkReply, le cookie est déjà analysé.
Cette classe implémente les cookies tels qu'ils sont décrits dans la spécification initiale des cookies de Netscape, qui est quelque peu similaire à la spécification RFC 2109, avec l'extension "HttpOnly". La spécification plus récente RFC 2965 (qui utilise l'en-tête Set-Cookie2) n'est pas prise en charge.
Voir aussi QNetworkCookieJar, QNetworkRequest, et QNetworkReply.
Documentation sur les types de membres
enum QNetworkCookie::RawForm
Cette énumération est utilisée avec la fonction toRawForm() pour déclarer quelle forme de cookie doit être renvoyée.
| Constante | Valeur | Description |
|---|---|---|
QNetworkCookie::NameAndValueOnly | 0 | fait en sorte que toRawForm() ne renvoie que la partie "NOM=VALEUR" du cookie, afin qu'elle soit renvoyée au serveur dans l'en-tête "Cookie :" d'une requête client. Les cookies multiples sont séparés par un point-virgule dans le champ d'en-tête "Cookie :". |
QNetworkCookie::Full | 1 | fait toRawForm() renvoie le contenu complet du cookie, tel qu'il peut être envoyé à un client dans l'en-tête "Set-Cookie :" d'un serveur. |
Notez que seule la forme complète du cookie peut être analysée pour retrouver son contenu d'origine.
Voir aussi toRawForm() et parseCookies().
[since 6.1] enum class QNetworkCookie::SameSite
| Constante | Valeur | Description |
|---|---|---|
QNetworkCookie::SameSite::Default | 0 | SameSite n'est pas défini. Peut être interprété comme None ou Lax par le navigateur. |
QNetworkCookie::SameSite::None | 1 | Les cookies peuvent être envoyés dans tous les contextes. C'était la valeur par défaut, mais les navigateurs récents ont fait de Lax la valeur par défaut et exigent désormais que le cookie soit sécurisé et que SameSite=None soit défini. |
QNetworkCookie::SameSite::Lax | 2 | Les cookies sont envoyés lors des requêtes de première partie et des requêtes GET initiées par des sites web tiers. Il s'agit de la valeur par défaut des navigateurs modernes (depuis la mi-2020). |
QNetworkCookie::SameSite::Strict | 3 | Les cookies ne sont envoyés que dans un contexte de première partie. |
Cette énumération a été introduite dans Qt 6.1.
Voir aussi setSameSitePolicy() et sameSitePolicy().
Documentation des fonctions membres
[explicit] QNetworkCookie::QNetworkCookie(const QByteArray &name = QByteArray(), const QByteArray &value = QByteArray())
Créer un nouvel objet QNetworkCookie, en initialisant le nom du cookie à name et sa valeur à value.
Un cookie n'est valide que s'il a un nom. Cependant, la valeur est opaque pour l'application et le fait qu'elle soit vide peut avoir une signification pour le serveur distant.
QNetworkCookie::QNetworkCookie(const QNetworkCookie &other)
Crée un nouvel objet QNetworkCookie en copiant le contenu de other.
[noexcept] QNetworkCookie::~QNetworkCookie()
Détruit cet objet QNetworkCookie.
QString QNetworkCookie::domain() const
Renvoie le domaine auquel ce cookie est associé. Cela correspond au champ "domain" de la chaîne du cookie.
Notez que le domaine peut commencer par un point, ce qui n'est pas un nom d'hôte valide. Cependant, cela signifie que ce cookie correspond à tous les noms d'hôtes se terminant par ce nom de domaine.
Voir aussi setDomain().
QDateTime QNetworkCookie::expirationDate() const
Renvoie la date d'expiration de ce cookie. Si ce cookie est un cookie de session, l'adresse QDateTime renvoyée ne sera pas valide. Si la date est passée, ce cookie a déjà expiré et ne doit pas être renvoyé à un serveur distant.
La date d'expiration correspond aux paramètres de l'entrée "expires" dans la chaîne du cookie.
Voir également isSessionCookie() et setExpirationDate().
bool QNetworkCookie::hasSameIdentifier(const QNetworkCookie &other) const
Renvoie true si ce cookie a le même tuple d'identifiant que other. Le tuple d'identifiant est composé du nom, du domaine et du chemin.
Voir aussi operator==().
bool QNetworkCookie::isHttpOnly() const
Renvoie true si le drapeau "HttpOnly" est activé pour ce cookie.
Un cookie "HttpOnly" n'est défini et récupéré que par les demandes et les réponses du réseau, c'est-à-dire par le protocole HTTP. Il n'est pas accessible aux scripts exécutés sur les navigateurs.
Voir également isSecure().
bool QNetworkCookie::isSecure() const
Renvoie true si l'option "secure" a été spécifiée dans la chaîne du cookie, false sinon.
Les cookies sécurisés peuvent contenir des informations privées et ne doivent pas être renvoyés sur des connexions non cryptées.
Voir aussi setSecure().
bool QNetworkCookie::isSessionCookie() const
Renvoie true si ce cookie est un cookie de session. Un cookie de session est un cookie qui n'a pas de date d'expiration, ce qui signifie qu'il doit être supprimé lorsque le concept de session de l'application est terminé (généralement, lorsque l'application se termine).
Voir aussi expirationDate() et setExpirationDate().
QByteArray QNetworkCookie::name() const
Renvoie le nom de ce cookie. Le seul champ obligatoire d'un cookie est son nom, sans lequel il n'est pas considéré comme valide.
Voir aussi setName() et value().
void QNetworkCookie::normalize(const QUrl &url)
Cette fonction normalise le chemin et le domaine du cookie s'ils étaient auparavant vides. Le paramètre url est utilisé pour déterminer le domaine et le chemin corrects.
[static] QList<QNetworkCookie> QNetworkCookie::parseCookies(QByteArrayView cookieString)
Analyse la chaîne de cookies cookieString telle qu'elle est reçue d'une réponse du serveur dans l'en-tête "Set-Cookie :". En cas d'erreur d'analyse, cette fonction renvoie une liste vide.
Comme l'en-tête HTTP peut définir plusieurs cookies en même temps, cette fonction renvoie une liste QList<QNetworkCookie>, une pour chaque cookie analysé.
Remarque : Dans les versions de Qt antérieures à la version 6.7, cette fonction ne prenait que QByteArray.
Voir aussi toRawForm().
QString QNetworkCookie::path() const
Renvoie le chemin associé à ce cookie. Cela correspond au champ "path" de la chaîne du cookie.
Voir aussi setPath().
[since 6.1] QNetworkCookie::SameSite QNetworkCookie::sameSitePolicy() const
Renvoie l'option "SameSite" si elle est spécifiée dans la chaîne de cookies, SameSite::Default si elle n'est pas présente.
Cette fonction a été introduite dans Qt 6.1.
Voir aussi setSameSitePolicy().
void QNetworkCookie::setDomain(const QString &domain)
Définit le domaine associé à ce cookie comme étant domain.
Voir aussi domain().
void QNetworkCookie::setExpirationDate(const QDateTime &date)
Fixe la date d'expiration de ce cookie à date. La fixation d'une date d'expiration non valide à ce cookie signifie qu'il s'agit d'un cookie de session.
Voir aussi isSessionCookie() et expirationDate().
void QNetworkCookie::setHttpOnly(bool enable)
Définit l'indicateur "HttpOnly" de ce cookie à enable.
Voir aussi isHttpOnly().
void QNetworkCookie::setName(const QByteArray &cookieName)
Définit le nom de ce cookie comme étant cookieName. Notez que la définition d'un nom de cookie avec un QByteArray vide rendra ce cookie invalide.
Voir également name() et value().
void QNetworkCookie::setPath(const QString &path)
Définit le chemin associé à ce cookie comme étant path.
Voir aussi path().
[since 6.1] void QNetworkCookie::setSameSitePolicy(QNetworkCookie::SameSite sameSite)
Définit l'option "SameSite" de ce cookie à sameSite.
Cette fonction a été introduite dans Qt 6.1.
Voir aussi sameSitePolicy().
void QNetworkCookie::setSecure(bool enable)
Définit l'indicateur de sécurité de ce cookie à enable.
Les cookies sécurisés peuvent contenir des informations privées et ne doivent pas être renvoyés sur des connexions non cryptées.
Voir également isSecure().
void QNetworkCookie::setValue(const QByteArray &value)
Définit la valeur de ce cookie comme étant value.
Voir également value() et name().
[noexcept] void QNetworkCookie::swap(QNetworkCookie &other)
Remplace ce cookie par other. Cette opération est très rapide et n'échoue jamais.
QByteArray QNetworkCookie::toRawForm(QNetworkCookie::RawForm form = Full) const
Renvoie la forme brute de ce QNetworkCookie. Le QByteArray renvoyé par cette fonction convient pour un en-tête HTTP, soit dans une réponse du serveur (l'en-tête Set-Cookie), soit dans la requête du client (l'en-tête Cookie). Vous pouvez choisir l'un des deux formats en utilisant form.
Voir aussi parseCookies().
QByteArray QNetworkCookie::value() const
Renvoie la valeur de ce cookie, telle que spécifiée dans la chaîne du cookie. Notez qu'un cookie est toujours valide si sa valeur est vide.
Les paires nom-valeur de cookies sont considérées comme opaques pour l'application : c'est-à-dire que leurs valeurs ne signifient rien.
Voir aussi setValue() et name().
bool QNetworkCookie::operator!=(const QNetworkCookie &other) const
Renvoie true si ce cookie n'est pas égal à other.
Voir aussi operator==().
QNetworkCookie &QNetworkCookie::operator=(const QNetworkCookie &other)
Copie le contenu de l'objet QNetworkCookie other dans cet objet.
bool QNetworkCookie::operator==(const QNetworkCookie &other) const
Renvoie true si ce cookie est égal à other. Cette fonction ne renvoie true que si tous les champs du cookie sont identiques.
Cependant, dans certains contextes, deux cookies portant le même nom peuvent être considérés comme égaux.
Voir également operator!=() et hasSameIdentifier().
© 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.