QNetworkRequest Class
Die Klasse „QNetworkRequest“ enthält eine Anfrage, die mit „ QNetworkAccessManager “ gesendet werden soll. Mehr...
| Header: | #include <QNetworkRequest> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
| qmake: | QT += network |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QNetworkRequest ist Teil der Netzwerkprogrammierungs-API und der implizit gemeinsam genutzten Klassen.
Öffentliche Typen
| enum | Attribute { HttpStatusCodeAttribute, HttpReasonPhraseAttribute, RedirectionTargetAttribute, ConnectionEncryptedAttribute, CacheLoadControlAttribute, …, UserMax } |
| enum | CacheLoadControl { AlwaysNetwork, PreferNetwork, PreferCache, AlwaysCache } |
| enum | KnownHeaders { ContentDispositionHeader, ContentTypeHeader, ContentLengthHeader, LocationHeader, LastModifiedHeader, …, ServerHeader } |
| enum | LoadControl { Automatic, Manual } |
| enum | Priority { HighPriority, NormalPriority, LowPriority } |
| enum | RedirectPolicy { ManualRedirectPolicy, NoLessSafeRedirectPolicy, SameOriginRedirectPolicy, UserVerifiedRedirectPolicy } |
| enum | TransferTimeoutConstant { DefaultTransferTimeoutConstant } |
Öffentliche Funktionen
| QNetworkRequest() | |
| QNetworkRequest(const QUrl &url) | |
| QNetworkRequest(const QNetworkRequest &other) | |
| ~QNetworkRequest() | |
| QVariant | attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue = QVariant()) const |
(since 6.2) qint64 | decompressedSafetyCheckThreshold() const |
| bool | hasRawHeader(QAnyStringView headerName) const |
| QVariant | header(QNetworkRequest::KnownHeaders header) const |
(since 6.8) QHttpHeaders | headers() const |
(since 6.5) QHttp1Configuration | http1Configuration() const |
| QHttp2Configuration | http2Configuration() const |
| int | maximumRedirectsAllowed() const |
| QObject * | originatingObject() const |
| QString | peerVerifyName() const |
| QNetworkRequest::Priority | priority() const |
| QByteArray | rawHeader(QAnyStringView headerName) const |
| QList<QByteArray> | rawHeaderList() const |
| void | setAttribute(QNetworkRequest::Attribute code, const QVariant &value) |
(since 6.2) void | setDecompressedSafetyCheckThreshold(qint64 threshold) |
| void | setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value) |
(since 6.8) void | setHeaders(QHttpHeaders &&newHeaders) |
(since 6.8) void | setHeaders(const QHttpHeaders &newHeaders) |
(since 6.5) void | setHttp1Configuration(const QHttp1Configuration &configuration) |
| void | setHttp2Configuration(const QHttp2Configuration &configuration) |
| void | setMaximumRedirectsAllowed(int maxRedirectsAllowed) |
| void | setOriginatingObject(QObject *object) |
| void | setPeerVerifyName(const QString &peerName) |
| void | setPriority(QNetworkRequest::Priority priority) |
| void | setRawHeader(const QByteArray &headerName, const QByteArray &headerValue) |
| void | setSslConfiguration(const QSslConfiguration &config) |
(since 6.11) void | setTcpKeepAliveIdleTimeBeforeProbes(std::chrono::seconds idle) |
(since 6.11) void | setTcpKeepAliveIntervalBetweenProbes(std::chrono::seconds interval) |
(since 6.11) void | setTcpKeepAliveProbeCount(int probes) |
| void | setTransferTimeout(int timeout) |
(since 6.7) void | setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout) |
| void | setUrl(const QUrl &url) |
| QSslConfiguration | sslConfiguration() const |
| void | swap(QNetworkRequest &other) |
(since 6.11) std::chrono::seconds | tcpKeepAliveIdleTimeBeforeProbes() const |
(since 6.11) std::chrono::seconds | tcpKeepAliveIntervalBetweenProbes() const |
(since 6.11) int | tcpKeepAliveProbeCount() const |
| int | transferTimeout() const |
(since 6.7) std::chrono::milliseconds | transferTimeoutAsDuration() const |
| QUrl | url() const |
| bool | operator!=(const QNetworkRequest &other) const |
| QNetworkRequest & | operator=(const QNetworkRequest &other) |
| bool | operator==(const QNetworkRequest &other) const |
Statische öffentliche Mitglieder
| const std::chrono::std::chrono::milliseconds | DefaultTransferTimeout |
Ausführliche Beschreibung
QNetworkRequest ist Teil der Netzwerkzugriffs-API und ist die Klasse, die die Informationen enthält, die zum Senden einer Anfrage über das Netzwerk erforderlich sind. Sie enthält eine URL und einige Zusatzinformationen, die zum Anpassen der Anfrage verwendet werden können.
Siehe auch „ QNetworkReply “ und „ QNetworkAccessManager “.
Dokumentation zu den Mitgliedstypen
enum QNetworkRequest::Attribute
Attributcodes für die Methoden „ QNetworkRequest “ und „ QNetworkReply “.
Attribute sind zusätzliche Metadaten, die dazu dienen, das Verhalten der Anfrage zu steuern und weitere Informationen aus der Antwort an die Anwendung zurückzugeben. Attribute sind zudem erweiterbar, sodass benutzerdefinierte Implementierungen eigene Werte übergeben können.
Die folgende Tabelle erläutert die Standard-Attributcodes, die zugehörigen „ QVariant “-Typen, den Standardwert, falls das jeweilige Attribut fehlt, sowie, ob es in Anfragen oder Antworten verwendet wird.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNetworkRequest::HttpStatusCodeAttribute | 0 | Nur in Antworten, Typ: „ QMetaType::Int “ (kein Standardwert) Gibt den vom HTTP-Server empfangenen HTTP-Statuscode an (z. B. 200, 304, 404, 401 usw.). Wenn die Verbindung nicht auf HTTP basierte, ist dieses Attribut nicht vorhanden. |
QNetworkRequest::HttpReasonPhraseAttribute | 1 | Nur in Antworten, Typ: QMetaType::QByteArray (kein Standardwert) Gibt die vom HTTP-Server empfangene HTTP-Begründung an (z. B. „Ok“, „Found“, „Not Found“, „Access Denied“ usw.). Dies ist die für Menschen lesbare Darstellung des Statuscodes (siehe oben). Wenn die Verbindung nicht HTTP-basiert war, ist dieses Attribut nicht vorhanden. Hinweis: Die Statusmeldung wird bei Verwendung von HTTP/2 nicht verwendet. |
QNetworkRequest::RedirectionTargetAttribute | 2 | Nur bei Antworten, Typ: QMetaType::QUrl (kein Standardwert) Falls vorhanden, gibt es an, dass der Server die Anfrage an eine andere URL umleitet. Die Network Access API folgt standardmäßig Umleitungen, sofern nicht „ QNetworkRequest::ManualRedirectPolicy “ verwendet wird. Wenn „ QNetworkRequest::UserVerifiedRedirectPolicy “ verwendet wird, wird dieses Attribut zusätzlich gesetzt, falls der Umleitungslink nicht verfolgt wurde. Die zurückgegebene URL kann relativ sein. Verwenden Sie „ QUrl::resolved()“, um daraus eine absolute URL zu erstellen. |
QNetworkRequest::ConnectionEncryptedAttribute | 3 | Nur für Antworten, Typ: QMetaType::Bool (Standard: false) Gibt an, ob die Daten über eine verschlüsselte (sichere) Verbindung abgerufen wurden. |
QNetworkRequest::CacheLoadControlAttribute | 4 | Nur für Anfragen, Typ: QMetaType::Int (Standard: QNetworkRequest::PreferNetwork) Legt fest, wie auf den Cache zugegriffen werden soll. Die möglichen Werte sind die von QNetworkRequest::CacheLoadControl. Beachten Sie, dass die Standardimplementierung von QNetworkAccessManager kein Caching unterstützt. Dieses Attribut kann jedoch von bestimmten Backends verwendet werden, um ihre Anfragen anzupassen (z. B. für Caching-Proxys). |
QNetworkRequest::CacheSaveControlAttribute | 5 | Nur Anfragen, Typ: QMetaType::Bool (Standard: true) Legt fest, ob die abgerufenen Daten für spätere Verwendung im Cache gespeichert werden sollen. Ist der Wert „false“, werden die abgerufenen Daten nicht automatisch zwischengespeichert. Ist der Wert „true“, können die Daten zwischengespeichert werden, sofern sie zwischenspeicherfähig sind (was zwischenspeicherfähig ist, hängt vom verwendeten Protokoll ab). |
QNetworkRequest::SourceIsFromCacheAttribute | 6 | Nur Antworten, Typ: QMetaType::Bool (Standard: false) Gibt an, ob die Daten aus dem Cache abgerufen wurden oder nicht. |
QNetworkRequest::DoNotBufferUploadDataAttribute | 7 | Nur Anfragen, Typ: QMetaType::Bool (Standard: false) Gibt an, ob der Code „ QNetworkAccessManager “ die Upload-Daten zwischenspeichern darf, z. B. bei einem HTTP-POST. Bei Verwendung dieses Flags mit sequenziellen Upload-Daten muss der Header „ ContentLengthHeader “ gesetzt sein. |
QNetworkRequest::HttpPipeliningAllowedAttribute | 8 | Nur für Anfragen, Typ: QMetaType::Bool (Standard: false) Gibt an, ob der Code unter QNetworkAccessManager bei dieser Anfrage HTTP-Pipelining verwenden darf. |
QNetworkRequest::HttpPipeliningWasUsedAttribute | 9 | Nur für Antworten, Typ: QMetaType::Bool Gibt an, ob beim Empfang dieser Antwort HTTP-Pipelining verwendet wurde. |
QNetworkRequest::CustomVerbAttribute | 10 | Nur für Anfragen, Typ: QMetaType::QByteArray Enthält den Wert für das zu sendende benutzerdefinierte HTTP-Verb (für die Verwendung anderer Verben als GET, POST, PUT und DELETE vorgesehen). Dieses Verb wird beim Aufruf von QNetworkAccessManager::sendCustomRequest() festgelegt. |
QNetworkRequest::CookieLoadControlAttribute | 11 | Nur bei Anfragen, Typ: QMetaType::Int (Standard: QNetworkRequest::Automatic) Gibt an, ob „Cookie“-Header in der Anfrage gesendet werden sollen. Dieses Attribut wird von Qt WebKit auf „false“ gesetzt, wenn ein domänenübergreifender XMLHttpRequest erstellt wird, bei dem „withCredentials“ vom JavaScript, das die Anfrage erstellt hat, nicht explizit auf „true“ gesetzt wurde. Weitere Informationen finden Sie hier. (Dieser Wert wurde in Version 4.7 eingeführt.) |
QNetworkRequest::CookieSaveControlAttribute | 13 | Nur für Anfragen, Typ: QMetaType::Int (Standard: QNetworkRequest::Automatic) Gibt an, ob „Cookie“-Header, die vom Server als Antwort auf die Anfrage empfangen wurden, gespeichert werden sollen. Dieses Attribut wird von Qt WebKit auf „false“ gesetzt, wenn ein Cross-Origin-XMLHttpRequest erstellt wird, bei dem „withCredentials“ im JavaScript, das die Anfrage erstellt hat, nicht explizit auf „true“ gesetzt wurde. Weitere Informationen finden Sie hier. (Dieser Wert wurde in Version 4.7 eingeführt.) |
QNetworkRequest::AuthenticationReuseAttribute | 12 | Nur für Anfragen, Typ: ` QMetaType::Int ` (Standard: ` QNetworkRequest::Automatic`) Gibt an, ob zwischengespeicherte Autorisierungsdaten in der Anfrage verwendet werden sollen, sofern vorhanden. Wenn dieser Wert auf ` QNetworkRequest::Manual ` gesetzt ist und der Authentifizierungsmechanismus „Basic“ oder „Digest“ ist, sendet Qt keinen „Authorization“-HTTP-Header mit eventuell zwischengespeicherten Autorisierungsdaten für die URL der Anfrage. Dieses Attribut wird von Qt WebKit auf „ QNetworkRequest::Manual “ gesetzt, wenn ein domänenübergreifender XMLHttpRequest erstellt wird, bei dem „withCredentials“ vom JavaScript, das die Anfrage erstellt hat, nicht explizit auf „true“ gesetzt wurde. Weitere Informationen finden Sie hier. (Dieser Wert wurde in Version 4.7 eingeführt.) |
QNetworkRequest::BackgroundRequestAttribute | 17 | Typ: „ QMetaType::Bool “ (Standard: „false“) Gibt an, dass es sich um eine Hintergrundübertragung handelt und nicht um eine vom Benutzer initiierte Übertragung. Je nach Plattform können für Hintergrundübertragungen andere Richtlinien gelten. |
QNetworkRequest::Http2AllowedAttribute | 19 | Nur Anfragen, Typ: „ QMetaType::Bool “ (Standard: „true“) Gibt an, ob der „ QNetworkAccessManager “-Code bei dieser Anfrage HTTP/2 verwenden darf. Dies gilt für SSL-Anfragen oder „Cleartext“-HTTP/2, wenn „Http2CleartextAllowedAttribute“ gesetzt ist. |
QNetworkRequest::Http2WasUsedAttribute | 20 | Nur für Antworten, Typ: QMetaType::Bool (Standard: false) Gibt an, ob HTTP/2 zum Empfang dieser Antwort verwendet wurde. (Dieser Wert wurde in Version 5.9 eingeführt.) |
QNetworkRequest::EmitAllUploadProgressSignalsAttribute | 18 | Nur für Anfragen, Typ: ` QMetaType::Bool ` (Standard: `false`) Gibt an, ob alle Upload-Signale gesendet werden sollen. Standardmäßig wird das Signal `uploadProgress` nur in Intervallen von 100 Millisekunden gesendet. (Dieser Wert wurde in Version 5.5 eingeführt.) |
QNetworkRequest::OriginalContentLengthAttribute | 21 | Nur Antworten, Typ: QMetaType::Int Enthält das ursprüngliche „content-length“-Attribut, bevor es ungültig wird und aus dem Header entfernt wird, wenn die Daten komprimiert sind und die Anfrage für die automatische Dekomprimierung markiert wurde. (Dieser Wert wurde in Version 5.9 eingeführt.) |
QNetworkRequest::RedirectPolicyAttribute | 22 | Nur für Anfragen, Typ: QMetaType::Int, sollte einer der Werte „ QNetworkRequest::RedirectPolicy “ sein (Standard: „ NoLessSafeRedirectPolicy “). (Dieser Wert wurde in Version 5.9 eingeführt.) |
QNetworkRequest::Http2DirectAttribute | 23 | Nur für Anfragen, Typ: „ QMetaType::Bool “ (Standard: „false“) Wenn dieses Attribut gesetzt ist, erzwingt es bei „ QNetworkAccessManager “, das HTTP/2-Protokoll ohne anfängliche HTTP/2-Protokollaushandlung zu verwenden. Die Verwendung dieses Attributs setzt die vorherige Kenntnis voraus, dass ein bestimmter Server HTTP/2 unterstützt. Das Attribut funktioniert mit SSL oder mit „Cleartext“-HTTP/2, wenn „Http2CleartextAllowedAttribute“ gesetzt ist. Sollte sich herausstellen, dass ein Server HTTP/2 nicht unterstützt, während „HTTP/2 direct“ angegeben wurde, bricht „ QNetworkAccessManager “ den Vorgang ab, ohne einen Fallback auf HTTP/1.1 zu versuchen. Sind sowohl „Http2AllowedAttribute“ als auch „Http2DirectAttribute“ gesetzt, hat „Http2DirectAttribute“ Vorrang. (Dieser Wert wurde in Version 5.11 eingeführt.) |
QNetworkRequest::AutoDeleteReplyOnFinishAttribute | 25 | Nur für Anfragen, Typ: QMetaType::Bool (Standard: false) Ist dieses Attribut gesetzt, sorgt es dafür, dass „ QNetworkAccessManager “ die „ QNetworkReply “ löscht, nachdem „finished“ ausgegeben wurde. (Dieser Wert wurde in Version 5.14 eingeführt.) |
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute | 26 | Nur für Anfragen, Typ: QMetaType::Int Legt fest, wann die TCP-Verbindungen zu einem Server (HTTP1 und HTTP2) geschlossen werden sollen, nachdem die letzte ausstehende Anfrage verarbeitet wurde. Ist dieser Wert nicht gesetzt, wird das Standard-Timeout von 120 Sekunden verwendet. Die Einstellung auf einen negativen Wert (z. B. -1) deaktiviert das Verbindungs-Caching für diese Anfrage: Die Verbindung wird nicht im Cache gespeichert oder daraus abgerufen und wird unmittelbar nach Abschluss der Anfrage geschlossen. Die Einstellung auf 0 bedeutet, dass die Verbindung während der Nutzung gemeinsam genutzt wird, aber freigegeben wird, sobald sich nichts mehr in der Warteschlange befindet. Ein positiver Wert legt ein benutzerdefiniertes Ablauf-Timeout in Sekunden fest. (Dieser Wert wurde in Version 6.3 eingeführt.) |
QNetworkRequest::Http2CleartextAllowedAttribute | 27 | Nur für Anfragen, Typ: QMetaType::Bool (Standard: false) Wenn dieses Attribut gesetzt ist, weist es QNetworkAccessManager an, ein Upgrade auf HTTP/2 über Klartext (auch als h2c bekannt) zu versuchen. Bis Qt 7 kann der Standardwert für dieses Attribut durch Setzen der Umgebungsvariable `QT_NETWORK_H2C_ALLOWED` auf `true` überschrieben werden. Dieses Attribut wird ignoriert, wenn `Http2AllowedAttribute` nicht gesetzt ist. (Dieser Wert wurde in Version 6.3 eingeführt.) |
QNetworkRequest::UseCredentialsAttribute | 28 | Nur für Anfragen, Typ: „ QMetaType::Bool “ (Standard: „false“) Gibt an, ob die zugrunde liegenden XMLHttpRequest-Anfragen für die domänenübergreifende Zugriffskontrolle unter Verwendung von Anmeldedaten erfolgen sollen. Hat keine Auswirkung auf Anfragen derselben Herkunft. Dies betrifft nur die WebAssembly-Plattform. (Dieser Wert wurde in Version 6.5 eingeführt.) |
QNetworkRequest::FullLocalServerNameAttribute | 29 | Nur für Anfragen, Typ: QMetaType::String Enthält den vollständigen lokalen Servernamen, der für das zugrunde liegende QLocalSocket verwendet werden soll. Dieses Attribut wird von QNetworkAccessManager verwendet, um eine Verbindung zu einem bestimmten lokalen Server herzustellen, wenn das Verhalten von QLocalSocket bei einem einfachen Namen nicht ausreicht. Die URL im ` QNetworkRequest ` muss weiterhin das Schema `unix+http:` oder `local+http:` verwenden. Der Hostname in der URL wird für den `Host`-Header in der HTTP-Anfrage verwendet. (Dieser Wert wurde in Version 6.8 eingeführt.) |
QNetworkRequest::User | 1000 | Spezialtyp. Zusätzliche Informationen können in QVariants mit Typen im Bereich von „User“ bis „UserMax“ übergeben werden. Die Standardimplementierung von „Network Access“ ignoriert alle Anfrageattribute in diesem Bereich und erzeugt in Antworten keine Attribute in diesem Bereich. Der Bereich ist für Erweiterungen von „ QNetworkAccessManager “ reserviert. |
QNetworkRequest::UserMax | 32767 | Spezieller Typ. Siehe „User“. |
enum QNetworkRequest::CacheLoadControl
Steuert den Caching-Mechanismus von QNetworkAccessManager.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNetworkRequest::AlwaysNetwork | 0 | Immer aus dem Netzwerk laden und nicht prüfen, ob der Cache einen gültigen Eintrag enthält (ähnlich der „Neu laden“-Funktion in Browsern); außerdem wird die Neuvalidierung von Zwischencaches erzwungen. |
QNetworkRequest::PreferNetwork | 1 | Standardwert; Laden aus dem Netzwerk, wenn der zwischengespeicherte Eintrag älter ist als der Eintrag im Netzwerk. Dadurch werden niemals veraltete Daten aus dem Cache zurückgegeben, aber veraltete Ressourcen werden neu validiert. |
QNetworkRequest::PreferCache | 2 | Aus dem Cache laden, sofern verfügbar, andernfalls aus dem Netzwerk laden. Beachten Sie, dass dabei möglicherweise veraltete (aber nicht abgelaufene) Elemente aus dem Cache zurückgegeben werden können. |
QNetworkRequest::AlwaysCache | 3 | Nur aus dem Cache laden und einen Fehler melden, wenn der Eintrag nicht zwischengespeichert wurde (d. h. im Offline-Modus) |
enum QNetworkRequest::KnownHeaders
Liste der bekannten Header-Typen, die von QNetworkRequest ausgewertet werden. Jeder bekannte Header wird zudem in seiner Rohform mit seinem vollständigen HTTP-Namen dargestellt.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNetworkRequest::ContentDispositionHeader | 6 | Entspricht dem HTTP-Header „Content-Disposition“ und enthält eine Zeichenkette mit dem Dispositionstyp (z. B. „attachment“) und einem Parameter (z. B. „filename“). |
QNetworkRequest::ContentTypeHeader | 0 | Entspricht dem HTTP-Header „Content-Type“ und enthält eine Zeichenkette mit dem Medientyp (MIME-Typ) sowie etwaigen Zusatzdaten (z. B. Zeichensatz). |
QNetworkRequest::ContentLengthHeader | 1 | Entspricht dem HTTP-Header „Content-Length“ und enthält die Länge der übertragenen Daten in Byte. |
QNetworkRequest::LocationHeader | 2 | Entspricht dem HTTP-Header „Location“ und enthält eine URL, die den tatsächlichen Speicherort der Daten angibt, einschließlich der Ziel-URL im Falle von Weiterleitungen. |
QNetworkRequest::LastModifiedHeader | 3 | Entspricht dem HTTP-Header „Last-Modified“ und enthält einen „ QDateTime “, der das Datum der letzten Änderung des Inhalts angibt. |
QNetworkRequest::IfModifiedSinceHeader | 9 | Entspricht dem HTTP-Header „If-Modified-Since“ und enthält ein „ QDateTime “. Er wird üblicherweise an einen „ QNetworkRequest “ angehängt. Der Server soll eine 304-Antwort (Not Modified) senden, wenn sich die Ressource seit diesem Zeitpunkt nicht geändert hat. |
QNetworkRequest::ETagHeader | 10 | Entspricht dem HTTP-Header „ETag“ und enthält einen „ QString “, der den letzten Änderungszustand des Inhalts angibt. |
QNetworkRequest::IfMatchHeader | 11 | Entspricht dem HTTP-If-Match-Header und enthält einen QStringList. Er wird üblicherweise an einen QNetworkRequest angehängt. Der Server muss eine 412-Antwort (Precondition Failed) senden, wenn die Ressource nicht übereinstimmt. |
QNetworkRequest::IfNoneMatchHeader | 12 | Entspricht dem HTTP-Header „If-None-Match“ und enthält einen „ QStringList “. Er wird üblicherweise an einen „ QNetworkRequest “ angehängt. Der Server muss eine 304-Antwort (Not Modified) senden, wenn die Ressource übereinstimmt. |
QNetworkRequest::CookieHeader | 4 | Entspricht dem HTTP-Header „Cookie“ und enthält ein „ QList<QNetworkCookie>“, das die an den Server zurückzusendenden Cookies darstellt. |
QNetworkRequest::SetCookieHeader | 5 | Entspricht dem HTTP-Header „Set-Cookie“ und enthält ein „ QList “ <QNetworkCookie>, das die vom Server gesendeten Cookies darstellt, die lokal gespeichert werden sollen. |
QNetworkRequest::UserAgentHeader | 7 | Der von HTTP-Clients gesendete User-Agent-Header. |
QNetworkRequest::ServerHeader | 8 | Der von HTTP-Clients empfangene „Server“-Header. |
Siehe auch header(), setHeader(), rawHeader() und setRawHeader().
enum QNetworkRequest::LoadControl
Gibt an, ob ein Aspekt des Lademechanismus der Anfrage manuell überschrieben wurde, z. B. durch Qt WebKit.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNetworkRequest::Automatic | 0 | Standardwert: Zeigt das Standardverhalten an. |
QNetworkRequest::Manual | 1 | Zeigt an, dass das Verhalten manuell überschrieben wurde. |
enum QNetworkRequest::Priority
Diese Enumeration listet die möglichen Prioritäten für Netzwerkanfragen auf.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNetworkRequest::HighPriority | 1 | Hohe Priorität |
QNetworkRequest::NormalPriority | 3 | Normale Priorität |
QNetworkRequest::LowPriority | 5 | Niedrige Priorität |
enum QNetworkRequest::RedirectPolicy
Gibt an, ob die Netzwerkzugriffs-API einer HTTP-Umleitungsantwort automatisch folgen soll oder nicht.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNetworkRequest::ManualRedirectPolicy | 0 | Es werden keine Weiterleitungen verfolgt. |
QNetworkRequest::NoLessSafeRedirectPolicy | 1 | Standardwert: Es sind nur Weiterleitungen von „http“ zu „http“, von „http“ zu „https“ oder von „https“ zu „https“ zulässig. |
QNetworkRequest::SameOriginRedirectPolicy | 2 | Erfordert dasselbe Protokoll, denselben Host und denselben Port. Beachten Sie, dass http://example.com und http://example.com:80 bei dieser Richtlinie fehlschlagen (implizite/explizite Ports gelten als Nichtübereinstimmung). |
QNetworkRequest::UserVerifiedRedirectPolicy | 3 | Der Client entscheidet, ob er einer jeweiligen Weiterleitung folgt, indem er das Signal „redirected()“ verarbeitet: Er sendet „redirectAllowed()“ an das „ QNetworkReply “-Objekt, um die Weiterleitung zuzulassen, oder bricht den Vorgang ab bzw. beendet ihn, um die Weiterleitung abzulehnen. Dies kann beispielsweise genutzt werden, um den Benutzer zu fragen, ob er die Weiterleitung akzeptieren möchte, oder um anhand einer anwendungsspezifischen Konfiguration zu entscheiden. Hinweis: Wenn Qt Weiterleitungen verarbeitet, sendet es aus Gründen der Abwärtskompatibilität die weitergeleitete Anfrage mit der Methode GET, wenn der Server eine 301- oder 302-Antwort zurückgibt – unabhängig von der ursprünglich verwendeten Methode, es sei denn, es handelte sich um HEAD. |
enum QNetworkRequest::TransferTimeoutConstant
Eine Konstante, mit der Übertragungszeitüberschreitungen mit einem voreingestellten Wert aktiviert werden können.
| Konstante | Wert | Beschreibung |
|---|---|---|
QNetworkRequest::DefaultTransferTimeoutConstant | 30000 | Das Übertragungszeitlimit in Millisekunden. Wird verwendet, wenn setTransferTimeout() ohne Argument aufgerufen wird. |
Siehe auch ` QNetworkRequest::DefaultTransferTimeout`.
Dokumentation zu den Member-Funktionen
QNetworkRequest::QNetworkRequest()
Erstellt ein QNetworkRequest-Objekt ohne anzufragende URL. Verwenden Sie setUrl(), um eine URL festzulegen.
Siehe auch ` url()` und ` setUrl()`.
[explicit] QNetworkRequest::QNetworkRequest(const QUrl &url)
Erstellt ein QNetworkRequest-Objekt mit url als anzufordernder URL.
Siehe auch url() und setUrl().
QNetworkRequest::QNetworkRequest(const QNetworkRequest &other)
Erstellt eine Kopie von „ other “.
[noexcept] QNetworkRequest::~QNetworkRequest()
Entfernt das „ QNetworkRequest “-Objekt.
QVariant QNetworkRequest::attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue = QVariant()) const
Gibt das Attribut zurück, das dem Code „ code “ zugeordnet ist. Wenn das Attribut nicht gesetzt wurde, wird „ defaultValue “ zurückgegeben.
Hinweis: Diese Funktion wendet die unter QNetworkRequest::Attribute aufgeführten Standardwerte nicht an.
Siehe auch „ setAttribute()“ und „ QNetworkRequest::Attribute “.
[since 6.2] qint64 QNetworkRequest::decompressedSafetyCheckThreshold() const
Gibt den Schwellenwert für die Überprüfung auf „Archive Bombs“ zurück.
Ist die entpackte Größe einer Antwort kleiner als dieser Wert, entpackt Qt sie einfach, ohne weitere Überprüfung.
Diese Funktion wurde in Qt 6.2 eingeführt.
Siehe auch „ setDecompressedSafetyCheckThreshold()“.
bool QNetworkRequest::hasRawHeader(QAnyStringView headerName) const
Gibt „ true “ zurück, wenn der Raw-Header „ headerName “ in dieser Netzwerkanfrage vorhanden ist.
Hinweis: In Qt-Versionen vor 6.7 akzeptierte diese Funktion ausschließlich „ QByteArray “.
Siehe auch „ rawHeader()“ und „ setRawHeader()“.
QVariant QNetworkRequest::header(QNetworkRequest::KnownHeaders header) const
Gibt den Wert des bekannten Netzwerk-Headers „ header “ zurück, sofern dieser in dieser Anfrage vorhanden ist. Ist er nicht vorhanden, wird „QVariant()“ zurückgegeben (d. h. eine ungültige Variante).
Siehe auch „ KnownHeaders“ , „ rawHeader()“ und „ setHeader()“.
[since 6.8] QHttpHeaders QNetworkRequest::headers() const
Gibt die in dieser Netzwerkanfrage gesetzten Header zurück.
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch ` setHeaders()`.
[since 6.5] QHttp1Configuration QNetworkRequest::http1Configuration() const
Gibt die aktuellen Parameter zurück, die „ QNetworkAccessManager “ für die zugrunde liegende HTTP/1-Verbindung dieser Anfrage verwendet.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch „ setHttp1Configuration “.
QHttp2Configuration QNetworkRequest::http2Configuration() const
Gibt die aktuellen Parameter zurück, die QNetworkAccessManager für diese Anfrage und die zugrunde liegende HTTP/2-Verbindung verwendet. Dabei handelt es sich entweder um eine zuvor von einer Anwendung festgelegte Konfiguration oder um eine Standardkonfiguration.
Die von QNetworkAccessManager verwendeten Standardwerte lauten:
- Die Fenstergröße für die Flusssteuerung auf Verbindungsebene beträgt 2147483647 Oktette
- Die Fenstergröße für die Flusssteuerung auf Stream-Ebene beträgt 214748364 Oktette
- Die maximale Frame-Größe beträgt 16384
Standardmäßig ist „Server Push“ deaktiviert, während die Huffman-Komprimierung und die Zeichenfolgenindizierung aktiviert sind.
Siehe auch setHttp2Configuration.
int QNetworkRequest::maximumRedirectsAllowed() const
Gibt die maximale Anzahl an Weiterleitungen zurück, denen für diese Anfrage gefolgt werden darf.
Siehe auch ` setMaximumRedirectsAllowed()`.
QObject *QNetworkRequest::originatingObject() const
Gibt eine Referenz auf das Objekt zurück, das diese Netzwerkanfrage ausgelöst hat; gibt „ nullptr “ zurück, wenn diese nicht gesetzt ist oder das Objekt zerstört wurde.
Siehe auch „ setOriginatingObject()“.
QString QNetworkRequest::peerVerifyName() const
Gibt den für die Zertifikatsvalidierung festgelegten Hostnamen zurück, wie er unter setPeerVerifyName festgelegt wurde. Standardmäßig wird hier eine leere Zeichenkette zurückgegeben.
Siehe auch setPeerVerifyName.
QNetworkRequest::Priority QNetworkRequest::priority() const
Gibt die Priorität dieser Anfrage zurück.
Siehe auch setPriority().
QByteArray QNetworkRequest::rawHeader(QAnyStringView headerName) const
Gibt die Rohform des Headers headerName zurück. Ist kein solcher Header vorhanden, wird ein leerer QByteArray zurückgegeben, der möglicherweise nicht von einem vorhandenen Header ohne Inhalt zu unterscheiden ist (verwenden Sie hasRawHeader(), um festzustellen, ob der Header vorhanden ist oder nicht).
Roh-Header können mit ` setRawHeader()` oder mit ` setHeader()` gesetzt werden.
Hinweis: In Qt-Versionen vor 6.7 akzeptierte diese Funktion ausschließlich ` QByteArray `.
Siehe auch header() und setRawHeader().
QList<QByteArray> QNetworkRequest::rawHeaderList() const
Gibt eine Liste aller Raw-Header zurück, die in dieser Netzwerkanfrage gesetzt wurden. Die Liste ist in der Reihenfolge sortiert, in der die Header gesetzt wurden.
Siehe auch hasRawHeader() und rawHeader().
void QNetworkRequest::setAttribute(QNetworkRequest::Attribute code, const QVariant &value)
Setzt das mit dem Code „ code “ verknüpfte Attribut auf den Wert „ value “. Ist das Attribut bereits gesetzt, wird der bisherige Wert verworfen. Insbesondere gilt: Ist „ value “ ein ungültiges „ QVariant “, wird das Attribut zurückgesetzt.
Siehe auch attribute() und QNetworkRequest::Attribute.
[since 6.2] void QNetworkRequest::setDecompressedSafetyCheckThreshold(qint64 threshold)
Legt die „ threshold “ für die Überprüfung auf „Archive Bombs“ fest.
Einige unterstützte Komprimierungsalgorithmen können in einer winzigen komprimierten Datei eine spektakulär große dekomprimierte Datei kodieren. Dies ist nur möglich, wenn der entpackte Inhalt extrem monoton ist, was bei echten Dateien, die in gutem Glauben übertragen werden, selten der Fall ist: Dateien mit solch wahnsinnig hohen Kompressionsverhältnissen sind typischerweise Nutzdaten von Pufferüberlauf-Angriffen oder Denial-of-Service-Angriffen (durch übermäßigen Speicherverbrauch). Folglich sollten Dateien, die sich auf riesige Größen dekomprimieren lassen – insbesondere aus winzigen komprimierten Formen –, am besten als mutmaßliche Malware zurückgewiesen werden.
Wenn die entpackte Größe einer Antwort diesen Schwellenwert überschreitet (standardmäßig 10 MiB, d. h. 10 * 1024 * 1024), überprüft Qt das Kompressionsverhältnis: Ist dieses unverhältnismäßig hoch (40:1 für GZip und Deflate bzw. 100:1 für Brotli und ZStandard), wird die Antwort als Fehler behandelt. Durch Setzen des Schwellenwerts auf „ -1 “ wird diese Überprüfung deaktiviert.
Hinweis: Diese Prüfung erkennt nur Antworten mit ungewöhnlich hohen Kompressionsverhältnissen. Sie legt keine absolute Obergrenze für die Gesamtgröße der dekomprimierten Ausgabe fest. Eine Antwort, die ein moderates Kompressionsverhältnis beibehält (z. B. 39:1 bei GZip), kann auf eine beliebig große Größe dekomprimiert werden, ohne dass die Prüfung ausgelöst wird. Anwendungen, die mit nicht vertrauenswürdigen Servern kommunizieren, sollten QNetworkReply::bytesAvailable() oder QNetworkReply::downloadProgress() überwachen und Übertragungen abbrechen, die eine akzeptable Größe überschreiten.
Diese Funktion wurde in Qt 6.2 eingeführt.
Siehe auch decompressedSafetyCheckThreshold().
void QNetworkRequest::setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)
Setzt den Wert des bekannten Header- header s auf „ value “ und überschreibt dabei alle zuvor festgelegten Header. Dieser Vorgang setzt auch den entsprechenden rohen HTTP-Header.
Siehe auch ` KnownHeaders`, ` setRawHeader()` und ` header()`.
[since 6.8] void QNetworkRequest::setHeaders(QHttpHeaders &&newHeaders)
Legt „ newHeaders “ als Header in dieser Netzwerkanfrage fest und überschreibt dabei alle zuvor festgelegten Header.
Wenn einige Header mit den bekannten Headern übereinstimmen, werden die Werte geparst und die entsprechende geparste Form ebenfalls gesetzt.
Diese Funktion wurde in Qt 6.8 eingeführt.
Siehe auch „ headers()“ und „ KnownHeaders “.
[since 6.8] void QNetworkRequest::setHeaders(const QHttpHeaders &newHeaders)
Dies ist eine überladene Funktion.
Diese Funktion wurde in Qt 6.8 eingeführt.
[since 6.5] void QNetworkRequest::setHttp1Configuration(const QHttp1Configuration &configuration)
Setzt die HTTP/1-Parameter der Anfrage aus „ configuration “.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch http1Configuration, QNetworkAccessManager und QHttp1Configuration.
void QNetworkRequest::setHttp2Configuration(const QHttp2Configuration &configuration)
Legt die HTTP/2-Parameter der Anfrage aus „ configuration “ fest.
Hinweis: Die Konfiguration muss vor dem Absenden einer Anfrage festgelegt werden.
Hinweis: HTTP/2 bündelt mehrere Datenströme in einer einzigen HTTP/2-Verbindung. Das bedeutet, dass QNetworkAccessManager die Konfiguration verwendet, die in der ersten Anfrage einer Reihe von Anfragen an denselben Host enthalten ist.
Siehe auch http2Configuration, QNetworkAccessManager und QHttp2Configuration.
void QNetworkRequest::setMaximumRedirectsAllowed(int maxRedirectsAllowed)
Legt die maximale Anzahl der Umleitungen fest, denen für diese Anfrage zu maxRedirectsAllowed gefolgt werden darf.
Siehe auch maximumRedirectsAllowed().
void QNetworkRequest::setOriginatingObject(QObject *object)
Ermöglicht die Festlegung einer Referenz auf den „ object “, der die Anfrage initiiert hat.
Beispielsweise setzt Qt WebKit das Ursprungsobjekt auf den QWebFrame, der die Anfrage initiiert hat.
Siehe auch ` originatingObject()`
void QNetworkRequest::setPeerVerifyName(const QString &peerName)
Legt „ peerName “ als Hostnamen für die Zertifikatsüberprüfung fest, anstelle des für die TCP-Verbindung verwendeten Hostnamens.
Siehe auch peerVerifyName.
void QNetworkRequest::setPriority(QNetworkRequest::Priority priority)
Legen Sie die Priorität dieser Anfrage auf „ priority “ fest.
Hinweis: Die Priorität „ priority “ ist lediglich ein Hinweis für den Netzwerkzugriffsmanager. Er kann diesen Hinweis berücksichtigen oder auch nicht. Derzeit wird sie bei HTTP verwendet, um zu entscheiden, welche Anfrage zuerst an einen Server gesendet werden soll.
Siehe auch „ priority()“.
void QNetworkRequest::setRawHeader(const QByteArray &headerName, const QByteArray &headerValue)
Setzt den Header „ headerName “ auf den Wert „ headerValue “. Wenn „ headerName “ einem bekannten Header entspricht (siehe QNetworkRequest::KnownHeaders), wird das Rohformat geparst und der entsprechende „aufbereitete“ Header ebenfalls gesetzt.
Beispiel:
request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));wird auch der bekannte Header „ LastModifiedHeader “ auf das QDateTime -Objekt des geparsten Datums gesetzt.
Hinweis: Das zweimaligeSetzen desselben Headers überschreibt die vorherige Einstellung. Um das Verhalten mehrerer HTTP-Header mit demselben Namen zu erreichen, sollten Sie die beiden Werte durch ein Komma („,“) trennen und einen einzigen Roh-Header setzen.
Hinweis: Seit Qt 6.8 werden die Header-Feldnamen normalisiert, indem sie in Kleinbuchstaben umgewandelt werden.
Siehe auch KnownHeaders, setHeader(), hasRawHeader() und rawHeader().
void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config)
Legt die SSL-Konfiguration dieser Netzwerkanfrage auf „ config “ fest. Die geltenden Einstellungen sind der private Schlüssel, das lokale Zertifikat, das TLS-Protokoll (z. B. TLS 1.3), die CA-Zertifikate und die Verschlüsselungsalgorithmen, die das SSL-Backend verwenden darf.
Siehe auch sslConfiguration() und QSslConfiguration::defaultConfiguration().
[since 6.11] void QNetworkRequest::setTcpKeepAliveIdleTimeBeforeProbes(std::chrono::seconds idle)
Legt die Zeit fest, die die Verbindung inaktiv bleiben muss, bevor TCP mit dem Senden von Keepalive-Anfragen beginnt, um als „ idle “ zu gelten, sofern die TCP-Keepalive-Funktion aktiviert wurde.
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch ` tcpKeepAliveIdleTimeBeforeProbes()`.
[since 6.11] void QNetworkRequest::setTcpKeepAliveIntervalBetweenProbes(std::chrono::seconds interval)
Legt die Zeit zwischen einzelnen Keepalive-Abfragen auf ` interval` fest, sofern die TCP-Keepalive-Funktion aktiviert wurde.
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch ` tcpKeepAliveIntervalBetweenProbes()`.
[since 6.11] void QNetworkRequest::setTcpKeepAliveProbeCount(int probes)
Legt die maximale Anzahl an Keepalive- probes fest, die TCP senden soll, bevor die Verbindung getrennt wird, sofern die TCP-Keepalive-Funktion aktiviert wurde.
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch ` tcpKeepAliveProbeCount()`
void QNetworkRequest::setTransferTimeout(int timeout)
Legt „ timeout “ als Übertragungszeitlimit in Millisekunden fest.
Siehe auch „ setTransferTimeout“ (std::chrono::milliseconds), „ transferTimeout()“ und „ transferTimeoutAsDuration()“.
[since 6.7] void QNetworkRequest::setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout)
Legt das Timeout „ duration “ fest, nach dessen Ablauf die Übertragung abgebrochen wird, wenn keine Daten ausgetauscht wurden.
Übertragungen werden abgebrochen, wenn vor Ablauf des Timeouts keine Bytes übertragen wurden. Der Wert Null bedeutet, dass kein Timer gesetzt ist. Wird kein Argument angegeben, beträgt der Timeout- QNetworkRequest::DefaultTransferTimeout. Wird diese Funktion nicht aufgerufen, ist der Timeout deaktiviert und hat den Wert Null.
Diese Funktion wurde in Qt 6.7 eingeführt.
Siehe auch ` transferTimeoutAsDuration()`.
void QNetworkRequest::setUrl(const QUrl &url)
Legt die URL, auf die sich diese Netzwerkanfrage bezieht, auf url fest.
Siehe auch url().
QSslConfiguration QNetworkRequest::sslConfiguration() const
Gibt die SSL-Konfiguration dieser Netzwerkanfrage zurück. Standardmäßig entspricht diese der von QSslConfiguration::defaultConfiguration().
Siehe auch setSslConfiguration() und QSslConfiguration::defaultConfiguration().
[noexcept] void QNetworkRequest::swap(QNetworkRequest &other)
Tauscht diese Netzwerkanfrage gegen „ other “ aus. Dieser Vorgang ist sehr schnell und schlägt niemals fehl.
[since 6.11] std::chrono::seconds QNetworkRequest::tcpKeepAliveIdleTimeBeforeProbes() const
Gibt die Zeit zurück, die die Verbindung im Ruhezustand verbleiben muss, bevor TCP mit dem Senden von Keepalive-Anfragen beginnt, sofern die TCP-Keepalive-Funktion aktiviert wurde.
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch ` setTcpKeepAliveIdleTimeBeforeProbes()`.
[since 6.11] std::chrono::seconds QNetworkRequest::tcpKeepAliveIntervalBetweenProbes() const
Gibt die Zeitspanne zwischen einzelnen Keepalive-Abfragen zurück, sofern die TCP-Keepalive-Funktion aktiviert wurde.
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch ` setTcpKeepAliveIntervalBetweenProbes()`.
[since 6.11] int QNetworkRequest::tcpKeepAliveProbeCount() const
Gibt die maximale Anzahl an Keepalive-Anfragen zurück, die TCP senden soll, bevor die Verbindung getrennt wird, sofern die TCP-Keepalive-Funktion aktiviert wurde.
Diese Funktion wurde in Qt 6.11 eingeführt.
Siehe auch „ setTcpKeepAliveProbeCount()“.
int QNetworkRequest::transferTimeout() const
Gibt das für Übertragungen verwendete Timeout in Millisekunden zurück.
Wenn „ transferTimeoutAsDuration().count()“ nicht als „ int “ dargestellt werden kann, gibt diese Funktion stattdessen „ INT_MAX “ bzw. „INT_MIN “ zurück.
Siehe auch ` setTransferTimeout()` und ` transferTimeoutAsDuration()`.
[since 6.7] std::chrono::milliseconds QNetworkRequest::transferTimeoutAsDuration() const
Gibt die Zeitüberschreitungsdauer zurück, nach deren Ablauf die Übertragung abgebrochen wird, wenn keine Daten ausgetauscht werden.
Die Standarddauer beträgt Null, was bedeutet, dass das Timeout nicht verwendet wird.
Diese Funktion wurde in Qt 6.7 eingeführt.
Siehe auch „ setTransferTimeout“ (std::chrono::milliseconds).
QUrl QNetworkRequest::url() const
Gibt die URL zurück, auf die sich diese Netzwerkabfrage bezieht.
Siehe auch ` setUrl()`.
bool QNetworkRequest::operator!=(const QNetworkRequest &other) const
Gibt „ false “ zurück, wenn dieses Objekt nicht mit „ other “ übereinstimmt.
Siehe auch operator==().
QNetworkRequest &QNetworkRequest::operator=(const QNetworkRequest &other)
Erstellt eine Kopie von other
bool QNetworkRequest::operator==(const QNetworkRequest &other) const
Gibt „ true “ zurück, wenn dieses Objekt mit „ other “ identisch ist (d. h., wenn beide dieselbe URL, dieselben Header und dieselben Metadaten-Einstellungen aufweisen).
Siehe auch operator!=().
Dokumentation zu den Member-Variablen
const std::chrono::std::chrono::milliseconds QNetworkRequest::DefaultTransferTimeout
Das Übertragungszeitlimit beträgt QNetworkRequest::TransferTimeoutConstant -Millisekunden. Wird verwendet, wenn setTransferTimeout() ohne Argument aufgerufen wird.
© 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.