Auf dieser Seite

QNetworkCookieJar Class

Die Klasse „QNetworkCookieJar“ implementiert ein einfaches „Jar“ mit „ QNetworkCookie “-Objekten. Mehr...

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

Öffentliche Funktionen

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)

Geschützte Funktionen

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

Ausführliche Beschreibung

Cookies sind kleine Informationshäppchen, die zustandslose Protokolle wie HTTP verwenden, um bestimmte Informationen über mehrere Anfragen hinweg beizubehalten.

Ein Cookie wird von einem Remote-Server gesetzt, wenn dieser auf eine Anfrage antwortet, und er erwartet, dass dasselbe Cookie bei weiteren Anfragen zurückgesendet wird.

Das Cookie-Jar ist das Objekt, das alle in früheren Anfragen gesetzten Cookies enthält. Webbrowser speichern ihre Cookie-Jars auf der Festplatte, um permanente Cookies über mehrere Aufrufe der Anwendung hinweg zu erhalten.

QNetworkCookieJar implementiert keinen dauerhaften Speicher: Es bewahrt die Cookies lediglich im Arbeitsspeicher auf. Sobald das QNetworkCookieJar-Objekt gelöscht wird, werden auch alle darin enthaltenen Cookies verworfen. Wenn Sie die Cookies speichern möchten, sollten Sie von dieser Klasse ableiten und die Speicherung auf der Festplatte in Ihrem eigenen Speicherformat implementieren.

Diese Klasse implementiert nur die in den Cookie-Spezifikationen empfohlenen grundlegenden Sicherheitsmaßnahmen und implementiert keine Richtlinie zur Cookie-Akzeptanz (sie akzeptiert alle durch beliebige Anfragen gesetzten Cookies). Um diese Regeln zu überschreiben, sollten Sie die virtuellen Funktionen ` cookiesForUrl()` und ` setCookiesFromUrl()` neu implementieren. Sie werden von ` QNetworkReply ` und ` QNetworkAccessManager ` aufgerufen, wenn diese neue Cookies erkennen bzw. Cookies benötigen.

Siehe auch QNetworkCookie, QNetworkAccessManager, QNetworkReply, QNetworkRequest und QNetworkAccessManager::setCookieJar().

Dokumentation zu Member-Funktionen

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

Erstellt ein QNetworkCookieJar-Objekt und legt „ parent “ als übergeordnetes Objekt fest.

Das Cookie-Jar wird als leeres Objekt initialisiert.

[virtual noexcept] QNetworkCookieJar::~QNetworkCookieJar()

Löscht dieses „Cookie-Jar“-Objekt und verwirft alle darin gespeicherten Cookies. In der Standardimplementierung von „ QNetworkCookieJar “ werden Cookies nicht auf der Festplatte gespeichert.

Wenn Sie die Cookies auf der Festplatte speichern müssen, müssen Sie eine Klasse ableiten, die von ` QNetworkCookieJar ` abgeleitet ist, und die Cookies selbst auf der Festplatte speichern.

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

Gibt alle in diesem Cookie-Speicher abgelegten Cookies zurück. Diese Funktion eignet sich für abgeleitete Klassen, um Cookies auf der Festplatte zu speichern sowie die Gültigkeitsdauer von Cookies und andere Richtlinien zu implementieren.

Siehe auch setAllCookies() und cookiesForUrl().

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

Gibt die Cookies zurück, die hinzugefügt werden sollen, wenn eine Anfrage an url gesendet wird. Diese Funktion wird von der Standardfunktion QNetworkAccessManager::createRequest() aufgerufen, die die von dieser Funktion zurückgegebenen Cookies der zu sendenden Anfrage hinzufügt.

Werden mehrere Cookies mit demselben Namen, aber unterschiedlichen Pfaden gefunden, wird das Cookie mit dem längeren Pfad vor dem mit dem kürzeren Pfad zurückgegeben. Mit anderen Worten: Diese Funktion gibt die Cookies nach absteigender Pfadlänge sortiert zurück.

Die Standardklasse „ QNetworkCookieJar “ implementiert nur eine sehr grundlegende Sicherheitsrichtlinie (sie stellt sicher, dass die Domain und der Pfad der Cookies mit denen der Antwort übereinstimmen). Um die Sicherheitsrichtlinie mit eigenen Algorithmen zu erweitern, überschreiben Sie die Methode `cookiesForUrl()`.

Siehe auch ` setCookiesFromUrl()` und ` QNetworkAccessManager::setCookieJar()`.

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

Löscht das Cookie aus dem Cookie-Speicher, dessen Kennung mit der von cookie übereinstimmt.

Gibt „ true “ zurück, wenn ein Cookie gelöscht wurde, andernfalls „false“.

Siehe auch QNetworkCookie::hasSameIdentifier().

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

Fügt „ cookie “ zu diesem Cookie-Speicher hinzu.

Gibt „ true “ zurück, wenn „ cookie “ hinzugefügt wurde, andernfalls „false“.

Wenn bereits ein Cookie mit derselben Kennung im Cookie-Speicher vorhanden ist, wird dieses überschrieben.

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

Legt die interne Liste der von diesem „Cookie Jar“ gespeicherten Cookies auf „ cookieList “ fest. Diese Funktion eignet sich für abgeleitete Klassen, um das Laden von Cookies aus dem permanenten Speicher oder ihre eigenen Richtlinien zur Cookie-Akzeptanz zu implementieren, indem sie die Funktion „ setCookiesFromUrl()“ neu implementieren.

Siehe auch allCookies() und setCookiesFromUrl().

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

Fügt die Cookies aus der Liste „ cookieList “ zu diesem Cookie-Speicher hinzu. Vor dem Einfügen werden die Cookies normalisiert.

Gibt „ true “ zurück, wenn ein oder mehrere Cookies für „ url “ gesetzt sind, andernfalls „false“.

Wenn ein Cookie bereits im Cookie-Speicher vorhanden ist, wird es durch die Cookies aus „ cookieList “ überschrieben.

Die Standardklasse „ QNetworkCookieJar “ implementiert nur eine sehr grundlegende Sicherheitsrichtlinie (sie stellt sicher, dass die Domain und der Pfad der Cookies mit denen der Antwort übereinstimmen). Um die Sicherheitsrichtlinie mit eigenen Algorithmen zu erweitern, überschreiben Sie die Methode „setCookiesFromUrl()“.

Außerdem gibt es bei ` QNetworkCookieJar ` keine maximale Größe für den Cookie-Speicher. Implementieren Sie diese Funktion neu, um ältere Cookies zu löschen und Platz für neue zu schaffen.

Siehe auch ` cookiesForUrl()`, ` QNetworkAccessManager::setCookieJar()` und ` QNetworkCookie::normalize()`.

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

Wenn in diesem Cookie-Speicher ein Cookie mit derselben Kennung wie cookie vorhanden ist, wird es aktualisiert. Diese Funktion verwendet insertCookie().

Gibt „ true “ zurück, wenn „ cookie “ aktualisiert wurde, andernfalls „false“, wenn kein Cookie im Speicher die Kennung von „ cookie “ aufweist.

Siehe auch QNetworkCookie::hasSameIdentifier().

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

Gibt „ true “ zurück, wenn die Domäne und der Pfad von „ cookie “ gültig sind, andernfalls „false“. Der Parameter „ url “ wird verwendet, um festzustellen, ob die im Cookie angegebene Domäne zulässig ist.

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