En esta página

QNetworkCookieJar Class

La clase QNetworkCookieJar implementa un simple tarro de objetos QNetworkCookie. Más...

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

Funciones Públicas

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)

Funciones protegidas

QList<QNetworkCookie> allCookies() const
void setAllCookies(const QList<QNetworkCookie> &cookieList)
virtual bool validateCookie(const QNetworkCookie &cookie, const QUrl &url) const

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.

El tarro de cookies es el objeto que contiene todas las cookies establecidas en peticiones anteriores. Los navegadores web guardan sus cookies en disco para conservar las cookies permanentes a través de las invocaciones de la aplicación.

QNetworkCookieJar no implementa el almacenamiento permanente: sólo mantiene las cookies en memoria. Una vez que el objeto QNetworkCookieJar es borrado, todas las cookies que contenía serán descartadas también. Si quieres guardar las cookies, debes derivar de esta clase e implementar el guardado en disco en tu propio formato de almacenamiento.

Esta clase sólo implementa la seguridad básica recomendada por las especificaciones de cookies y no implementa ninguna política de aceptación de cookies (acepta todas las cookies establecidas por cualquier petición). Para anular estas reglas, debe reimplementar las funciones virtuales cookiesForUrl() y setCookiesFromUrl(). Son llamadas por QNetworkReply y QNetworkAccessManager cuando detectan nuevas cookies y cuando requieren cookies.

Véase también QNetworkCookie, QNetworkAccessManager, QNetworkReply, QNetworkRequest, y QNetworkAccessManager::setCookieJar().

Documentación de funciones miembro

[explicit] QNetworkCookieJar::QNetworkCookieJar(QObject *parent = nullptr)

Crea un objeto QNetworkCookieJar y establece que el objeto padre sea parent.

El cookie jar se inicializa vacío.

[virtual noexcept] QNetworkCookieJar::~QNetworkCookieJar()

Destruye este objeto cookie jar y descarta todas las cookies almacenadas en él. Las cookies no se guardan en disco en la implementación por defecto de QNetworkCookieJar.

Si necesitas guardar las cookies en el disco, tienes que derivar de QNetworkCookieJar y guardar las cookies en el disco tú mismo.

[protected] QList<QNetworkCookie> QNetworkCookieJar::allCookies() const

Devuelve todas las cookies almacenadas en este tarro de cookies. Esta función es adecuada para que las clases derivadas guarden las cookies en el disco, así como para implementar la caducidad de las cookies y otras políticas.

Véase también setAllCookies() y cookiesForUrl().

[virtual] QList<QNetworkCookie> QNetworkCookieJar::cookiesForUrl(const QUrl &url) const

Devuelve las cookies que se añadirán cuando se envíe una petición a url. Esta función es llamada por la función por defecto QNetworkAccessManager::createRequest(), que añade las cookies devueltas por esta función a la petición que se está enviando.

Si se encuentra más de una cookie con el mismo nombre, pero con rutas diferentes, la que tiene la ruta más larga se devuelve antes que la que tiene la ruta más corta. En otras palabras, esta función devuelve cookies ordenadas decrecientemente por la longitud de la ruta.

La clase por defecto QNetworkCookieJar sólo implementa una política de seguridad muy básica (se asegura de que el dominio y la ruta de las cookies coinciden con los de la respuesta). Para mejorar la política de seguridad con tus propios algoritmos, anula cookiesForUrl().

Véase también setCookiesFromUrl() y QNetworkAccessManager::setCookieJar().

[virtual] bool QNetworkCookieJar::deleteCookie(const QNetworkCookie &cookie)

Borra de cookie jar la cookie que tenga el mismo identificador que cookie.

Devuelve true si se ha eliminado una cookie, false en caso contrario.

Véase también QNetworkCookie::hasSameIdentifier().

[virtual] bool QNetworkCookieJar::insertCookie(const QNetworkCookie &cookie)

Añade cookie a este tarro de galletas.

Devuelve true si se ha añadido cookie, false en caso contrario.

Si ya existe una cookie con el mismo identificador en el tarro de cookies, se anulará.

[protected] void QNetworkCookieJar::setAllCookies(const QList<QNetworkCookie> &cookieList)

Establece la lista interna de cookies mantenidas por este tarro de cookies para que sea cookieList. Esta función es adecuada para que las clases derivadas implementen la carga de cookies desde el almacenamiento permanente, o sus propias políticas de aceptación de cookies reimplementando setCookiesFromUrl().

Véase también allCookies() y setCookiesFromUrl().

[virtual] bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)

Añade las cookies de la lista cookieList a este tarro de cookies. Antes de ser insertadas las cookies son normalizadas.

Devuelve true si una o más cookies están establecidas para url, en caso contrario false.

Si una cookie ya existe en el tarro de cookies, será anulada por las de cookieList.

La clase por defecto QNetworkCookieJar sólo implementa una política de seguridad muy básica (se asegura de que el dominio y la ruta de las cookies coinciden con los de la respuesta). Para mejorar la política de seguridad con sus propios algoritmos, anule setCookiesFromUrl().

Además, QNetworkCookieJar no tiene un tamaño máximo de tarro de cookies. Reimplemente esta función para descartar las cookies más antiguas y crear espacio para las nuevas.

Véase también cookiesForUrl(), QNetworkAccessManager::setCookieJar(), y QNetworkCookie::normalize().

[virtual] bool QNetworkCookieJar::updateCookie(const QNetworkCookie &cookie)

Si existe una cookie con el mismo identificador que cookie en este tarro de cookies, se actualizará. Esta función utiliza insertCookie().

Devuelve true si se actualizó cookie, false si ninguna cookie del tarro coincide con el identificador de cookie.

Véase también QNetworkCookie::hasSameIdentifier().

[virtual protected] bool QNetworkCookieJar::validateCookie(const QNetworkCookie &cookie, const QUrl &url) const

Devuelve true si el dominio y la ruta de cookie son válidos, false en caso contrario. El parámetro url se utiliza para determinar si el dominio especificado en la cookie está permitido.

© 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.