En esta página

QNetworkCookie Class

La clase QNetworkCookie contiene una cookie de red. Más...

Cabecera: #include <QNetworkCookie>
CMake: find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake: QT += network

Tipos Públicos

enum RawForm { NameAndValueOnly, Full }
(since 6.1) enum class SameSite { Default, None, Lax, Strict }

Funciones Públicas

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

Miembros Públicos Estáticos

QList<QNetworkCookie> parseCookies(QByteArrayView cookieString)

Descripción Detallada

Las cookies son pequeños fragmentos de información que los protocolos sin estado como HTTP utilizan para mantener cierta información persistente a través de las peticiones.

Una cookie es establecida por un servidor remoto cuando responde a una petición y espera que la misma cookie sea enviada de vuelta cuando se envíen más peticiones.

QNetworkCookie contiene una cookie de este tipo recibida de la red. Una cookie tiene un nombre y un valor, pero son opacos para la aplicación (es decir, la información almacenada en ellos no tiene ningún significado para la aplicación). Una cookie tiene asociados un nombre de ruta y un dominio, que indican cuándo la cookie debe ser enviada de nuevo al servidor.

Una cookie también puede tener una fecha de caducidad, que indica su validez. Si la fecha de caducidad no está presente, la cookie se considera una "cookie de sesión" y debe ser descartada cuando la aplicación salga (o cuando su concepto de sesión haya terminado).

QNetworkCookie proporciona una forma de analizar una cookie a partir del formato de cabecera HTTP utilizando la función QNetworkCookie::parseCookies(). Sin embargo, cuando se recibe en un QNetworkReply, la cookie ya está analizada.

Esta clase implementa cookies como se describe en la especificación inicial de cookies de Netscape, que es algo similar a la especificación RFC 2109, más la extensión "HttpOnly". La especificación más reciente RFC 2965 (que utiliza la cabecera Set-Cookie2) no está soportada.

Véase también QNetworkCookieJar, QNetworkRequest, y QNetworkReply.

Documentación de tipos de miembros

enum QNetworkCookie::RawForm

Este enum se utiliza con la función toRawForm() para declarar qué forma de cookie se devolverá.

ConstanteValorDescripción
QNetworkCookie::NameAndValueOnly0hace que toRawForm() devuelva sólo la parte "NOMBRE=VALOR" de la cookie, adecuada para enviarla de vuelta a un servidor en la cabecera "Cookie:" de una petición de cliente. Las cookies múltiples se separan con un punto y coma en el campo de cabecera "Cookie:".
QNetworkCookie::Full1hace que toRawForm() devuelva el contenido completo de la cookie, tal y como se puede enviar al cliente en la cabecera "Set-Cookie:" del servidor.

Tenga en cuenta que sólo la forma completa de la cookie puede volver a su contenido original.

Véase también toRawForm() y parseCookies().

[since 6.1] enum class QNetworkCookie::SameSite

ConstanteValorDescripción
QNetworkCookie::SameSite::Default0SameSite no está establecido. Puede ser interpretado como None o Lax por el navegador.
QNetworkCookie::SameSite::None1Las cookies pueden ser enviadas en todos los contextos. Este solía ser el valor predeterminado, pero los navegadores recientes hicieron que Lax fuera el valor predeterminado, y ahora requerirán que la cookie sea segura y que se establezca SameSite=None.
QNetworkCookie::SameSite::Lax2Las cookies se envían en peticiones first party y peticiones GET iniciadas por sitios web de terceros. Este es el valor por defecto en los navegadores modernos (desde mediados de 2020).
QNetworkCookie::SameSite::Strict3Las cookies solo se enviarán en un contexto de primera parte.

Este enum se introdujo en Qt 6.1.

Véase también setSameSitePolicy() y sameSitePolicy().

Documentación de la función miembro

[explicit] QNetworkCookie::QNetworkCookie(const QByteArray &name = QByteArray(), const QByteArray &value = QByteArray())

Crea un nuevo objeto QNetworkCookie, inicializando el nombre de la cookie a name y su valor a value.

Una cookie sólo es válida si tiene un nombre. Sin embargo, el valor es opaco para la aplicación y estar vacío puede tener significado para el servidor remoto.

QNetworkCookie::QNetworkCookie(const QNetworkCookie &other)

Crea un nuevo objeto QNetworkCookie copiando el contenido de other.

[noexcept] QNetworkCookie::~QNetworkCookie()

Destruye este objeto QNetworkCookie.

QString QNetworkCookie::domain() const

Devuelve el dominio al que está asociada esta cookie. Esto corresponde al campo "dominio" de la cadena de la cookie.

Tenga en cuenta que el dominio puede empezar por un punto, que no es un nombre de host válido. Sin embargo, significa que esta cookie coincide con todos los nombres de host que terminan con ese nombre de dominio.

Véase también setDomain().

QDateTime QNetworkCookie::expirationDate() const

Devuelve la fecha de caducidad de esta cookie. Si esta cookie es una cookie de sesión, la QDateTime devuelta no será válida. Si la fecha está en el pasado, esta cookie ya ha caducado y no debe enviarse de nuevo a un servidor remoto.

La fecha de caducidad corresponde a los parámetros de la entrada "expires" de la cadena de cookies.

Véase también isSessionCookie() y setExpirationDate().

bool QNetworkCookie::hasSameIdentifier(const QNetworkCookie &other) const

Devuelve true si esta cookie tiene la misma tupla identificadora que other. La tupla identificadora está compuesta por el nombre, el dominio y la ruta.

Véase también operator==().

bool QNetworkCookie::isHttpOnly() const

Devuelve true si la bandera "HttpOnly" está habilitada para esta cookie.

Una cookie que es "HttpOnly" sólo es establecida y recuperada por las peticiones y respuestas de la red; es decir, el protocolo HTTP. No es accesible desde los scripts que se ejecutan en los navegadores.

Véase también isSecure().

bool QNetworkCookie::isSecure() const

Devuelve true si se especificó la opción "secure" en la cadena de la cookie, false en caso contrario.

Las cookies seguras pueden contener información privada y no deben reenviarse a través de conexiones no cifradas.

Véase también setSecure().

bool QNetworkCookie::isSessionCookie() const

Devuelve true si esta cookie es una cookie de sesión. Una cookie de sesión es una cookie que no tiene fecha de caducidad, lo que significa que debe ser descartada cuando el concepto de sesión de la aplicación termina (normalmente, cuando la aplicación sale).

Véase también expirationDate() y setExpirationDate().

QByteArray QNetworkCookie::name() const

Devuelve el nombre de esta cookie. El único campo obligatorio de una cookie es su nombre, sin el cual no se considera válida.

Véase también setName() y value().

void QNetworkCookie::normalize(const QUrl &url)

Esta función normaliza la ruta y el dominio de la cookie si antes estaban vacíos. El parámetro url se utiliza para determinar el dominio y la ruta correctos.

[static] QList<QNetworkCookie> QNetworkCookie::parseCookies(QByteArrayView cookieString)

Analiza la cadena de cookies cookieString recibida de la respuesta del servidor en la cabecera "Set-Cookie:". Si hay un error de análisis, esta función devuelve una lista vacía.

Dado que la cabecera HTTP puede establecer más de una cookie al mismo tiempo, esta función devuelve un QList<QNetworkCookie>, uno por cada cookie analizada.

Nota: En versiones de Qt anteriores a la 6.7, esta función sólo tomaba QByteArray.

Véase también toRawForm().

QString QNetworkCookie::path() const

Devuelve la ruta asociada a esta cookie. Corresponde al campo "path" de la cadena de la cookie.

Véase también setPath().

[since 6.1] QNetworkCookie::SameSite QNetworkCookie::sameSitePolicy() const

Devuelve la opción "SameSite" si se especifica en la cadena de cookies, SameSite::Default si no está presente.

Esta función se introdujo en Qt 6.1.

Véase también setSameSitePolicy().

void QNetworkCookie::setDomain(const QString &domain)

Establece que el dominio asociado a esta cookie sea domain.

Véase también domain().

void QNetworkCookie::setExpirationDate(const QDateTime &date)

Establece la fecha de expiración de esta cookie en date. Establecer una fecha de expiración inválida a esta cookie significará que es una cookie de sesión.

Véase también isSessionCookie() y expirationDate().

void QNetworkCookie::setHttpOnly(bool enable)

Establece el indicador "HttpOnly" de esta cookie en enable.

Véase también isHttpOnly().

void QNetworkCookie::setName(const QByteArray &cookieName)

Establece el nombre de esta cookie en cookieName. Tenga en cuenta que si el nombre de la cookie es un QByteArray vacío, la cookie no será válida.

Véase también name() y value().

void QNetworkCookie::setPath(const QString &path)

Establece que la ruta asociada a esta cookie sea path.

Véase también path().

[since 6.1] void QNetworkCookie::setSameSitePolicy(QNetworkCookie::SameSite sameSite)

Establece la opción "SameSite" de esta cookie a sameSite.

Esta función se introdujo en Qt 6.1.

Véase también sameSitePolicy().

void QNetworkCookie::setSecure(bool enable)

Establece el indicador de seguridad de esta cookie en enable.

Las cookies seguras pueden contener información privada y no deben reenviarse a través de conexiones no cifradas.

Véase también isSecure().

void QNetworkCookie::setValue(const QByteArray &value)

Establece el valor de esta cookie en value.

Véase también value() y name().

[noexcept] void QNetworkCookie::swap(QNetworkCookie &other)

Cambia esta cookie por other. Esta operación es muy rápida y nunca falla.

QByteArray QNetworkCookie::toRawForm(QNetworkCookie::RawForm form = Full) const

Devuelve la forma bruta de este QNetworkCookie. El QByteArray devuelto por esta función es adecuado para una cabecera HTTP, ya sea en una respuesta del servidor (la cabecera Set-Cookie) o en la petición del cliente (la cabecera Cookie). Puede elegir uno de los dos formatos, utilizando form.

Véase también parseCookies().

QByteArray QNetworkCookie::value() const

Devuelve el valor de esta cookie, tal y como se especifica en la cadena de la cookie. Tenga en cuenta que una cookie sigue siendo válida si su valor está vacío.

Los pares nombre-valor de cookie se consideran opacos para la aplicación: es decir, sus valores no significan nada.

Véase también setValue() y name().

bool QNetworkCookie::operator!=(const QNetworkCookie &other) const

Devuelve true si esta cookie no es igual a other.

Véase también operator==().

QNetworkCookie &QNetworkCookie::operator=(const QNetworkCookie &other)

Copia el contenido del objeto QNetworkCookie other a este objeto.

bool QNetworkCookie::operator==(const QNetworkCookie &other) const

Devuelve true si esta cookie es igual a other. Esta función sólo devuelve true si todos los campos de la cookie son iguales.

Sin embargo, en algunos contextos, dos cookies con el mismo nombre podrían considerarse iguales.

Véase también operator!=() y 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.