QNetworkRequest Class
Die Klasse QNetworkRequest enthält eine Anfrage, die mit QNetworkAccessManager gesendet wird. Mehr...
Kopfzeile: | #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 von Network Programming API und Implicitly Shared Classes.
Ö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) |
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) |
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 |
Detaillierte Beschreibung
QNetworkRequest ist Teil der Network Access API und ist die Klasse, die die Informationen enthält, die notwendig sind, um eine Anfrage über das Netzwerk zu senden. Sie enthält eine URL und einige Zusatzinformationen, die zur Änderung der Anfrage verwendet werden können.
Siehe auch QNetworkReply und QNetworkAccessManager.
Dokumentation der Mitgliedstypen
enum QNetworkRequest::Attribute
Attributcodes für die QNetworkRequest und QNetworkReply.
Attribute sind zusätzliche Metadaten, die dazu dienen, das Verhalten der Anfrage zu steuern und weitere Informationen aus der Antwort zurück an die Anwendung zu übermitteln. Attribute sind auch erweiterbar, so dass benutzerdefinierte Implementierungen benutzerdefinierte Werte übergeben können.
Die folgende Tabelle erläutert die Standard-Attributcodes, die zugehörigen QVariant Typen, den Standardwert, wenn das Attribut fehlt, und ob es in Anfragen oder Antworten verwendet wird.
Konstante | Wert | Beschreibung |
---|---|---|
QNetworkRequest::HttpStatusCodeAttribute | 0 | Nur Antworten, Typ: QMetaType::Int (kein Standardwert) Gibt den vom HTTP-Server empfangenen HTTP-Statuscode an (wie 200, 304, 404, 401 usw.). Wenn die Verbindung nicht HTTP-basiert war, wird dieses Attribut nicht vorhanden sein. |
QNetworkRequest::HttpReasonPhraseAttribute | 1 | Nur Antworten, Typ: QMetaType::QByteArray (kein Standard) Gibt den vom HTTP-Server empfangenen HTTP-Grund 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, wird dieses Attribut nicht vorhanden sein. Hinweis: Der Grund wird bei der Verwendung von HTTP/2 nicht verwendet. |
QNetworkRequest::RedirectionTargetAttribute | 2 | Nur Antworten, Typ: QMetaType::QUrl (kein Standard) Wenn vorhanden, zeigt es an, dass der Server die Anfrage an eine andere URL weiterleitet. Die Network Access API folgt standardmäßig Umleitungen, es sei denn, QNetworkRequest::ManualRedirectPolicy wird verwendet. Wenn QNetworkRequest::UserVerifiedRedirectPolicy verwendet wird, wird dieses Attribut außerdem gesetzt, wenn die Umleitung nicht befolgt wurde. Die zurückgegebene URL kann relativ sein. Verwenden Sie QUrl::resolved(), um eine absolute URL daraus zu machen. |
QNetworkRequest::ConnectionEncryptedAttribute | 3 | Nur Antworten, Typ: QMetaType::Bool (Standardwert: false) Gibt an, ob die Daten über eine verschlüsselte (sichere) Verbindung bezogen wurden. |
QNetworkRequest::CacheLoadControlAttribute | 4 | Nur Anfragen, Typ: QMetaType::Int (Standardwert: QNetworkRequest::PreferNetwork) Steuert, wie auf den Cache zugegriffen werden soll. Die möglichen Werte sind die von QNetworkRequest::CacheLoadControl. Beachten Sie, dass die Standardimplementierung QNetworkAccessManager kein Caching unterstützt. Dieses Attribut kann jedoch von bestimmten Backends verwendet werden, um ihre Anfragen zu ändern (z. B. für Caching-Proxys). |
QNetworkRequest::CacheSaveControlAttribute | 5 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: true) Steuert, ob die erhaltenen Daten für zukünftige Verwendungen im Cache gespeichert werden sollen. Wenn der Wert false ist, werden die erhaltenen Daten nicht automatisch zwischengespeichert. Bei 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 (Standardwert: false) Gibt an, ob die Daten aus dem Cache bezogen wurden oder nicht. |
QNetworkRequest::DoNotBufferUploadDataAttribute | 7 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: false) Zeigt an, ob der Code QNetworkAccessManager die Upload-Daten zwischenspeichern darf, z. B. bei einem HTTP POST. Wenn dieses Flag mit sequenziellen Upload-Daten verwendet wird, muss der ContentLengthHeader Header gesetzt werden. |
QNetworkRequest::HttpPipeliningAllowedAttribute | 8 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: false) Zeigt an, ob der Code QNetworkAccessManager bei dieser Anfrage HTTP-Pipelining verwenden darf. |
QNetworkRequest::HttpPipeliningWasUsedAttribute | 9 | Nur Antworten, Typ: QMetaType::Bool Zeigt an, ob das HTTP-Pipelining für den Empfang dieser Antwort verwendet wurde. |
QNetworkRequest::CustomVerbAttribute | 10 | Nur 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 bestimmt). Dieses Verb wird beim Aufruf von QNetworkAccessManager::sendCustomRequest() gesetzt. |
QNetworkRequest::CookieLoadControlAttribute | 11 | Nur Anfragen, Typ: QMetaType::Int (Standard: QNetworkRequest::Automatic) Gibt an, ob "Cookie"-Kopfzeilen in der Anfrage gesendet werden sollen. Dieses Attribut wird von Qt WebKit auf false gesetzt, wenn eine herkunftsübergreifende XMLHttpRequest erstellt wird, bei der withCredentials nicht explizit von dem Javascript, das die Anfrage erstellt hat, auf true gesetzt wurde. Siehe hier für weitere Informationen. (Dieser Wert wurde in 4.7 eingeführt.) |
QNetworkRequest::CookieSaveControlAttribute | 13 | Nur Anfragen, Typ: QMetaType::Int (Standardwert: QNetworkRequest::Automatic) Gibt an, ob die vom Server als Antwort auf die Anfrage empfangenen "Cookie"-Kopfzeilen gespeichert werden sollen. Dieses Attribut wird von Qt WebKit auf false gesetzt, wenn eine herkunftsübergreifende XMLHttpRequest erstellt wird, bei der withCredentials nicht explizit von dem Javascript, das die Anfrage erstellt hat, auf true gesetzt wurde. Siehe hier für weitere Informationen. (Dieser Wert wurde in 4.7 eingeführt.) |
QNetworkRequest::AuthenticationReuseAttribute | 12 | Nur Anfragen, Typ: QMetaType::Int (Standardwert: QNetworkRequest::Automatic) Gibt an, ob zwischengespeicherte Berechtigungsnachweise in der Anfrage verwendet werden sollen, falls verfügbar. Wenn dies auf QNetworkRequest::Manual gesetzt ist und der Authentifizierungsmechanismus 'Basic' oder 'Digest' ist, sendet Qt keinen 'Authorization' HTTP Header mit allen zwischengespeicherten Anmeldeinformationen, die es für die URL der Anfrage haben könnte. Dieses Attribut wird von Qt WebKit auf QNetworkRequest::Manual gesetzt, wenn eine herkunftsübergreifende XMLHttpRequest erstellt wird, bei der withCredentials nicht explizit von dem Javascript, das die Anfrage erstellt hat, auf true gesetzt wurde. Siehe hier für weitere Informationen. (Dieser Wert wurde in 4.7 eingeführt.) |
QNetworkRequest::BackgroundRequestAttribute | 17 | Type: QMetaType::Bool (Standardwert: false) Zeigt 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 unterschiedliche Richtlinien gelten. |
QNetworkRequest::Http2AllowedAttribute | 19 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: true) Gibt an, ob der Code QNetworkAccessManager für diese Anfrage HTTP/2 verwenden darf. Dies gilt für SSL-Anfragen oder "Klartext"-HTTP/2, wenn Http2CleartextAllowedAttribute gesetzt ist. |
QNetworkRequest::Http2WasUsedAttribute | 20 | Nur Antworten, Typ: QMetaType::Bool (Standardwert: false) Gibt an, ob HTTP/2 für den Empfang dieser Antwort verwendet wurde. (Dieser Wert wurde in 5.9 eingeführt.) |
QNetworkRequest::EmitAllUploadProgressSignalsAttribute | 18 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: false) Gibt an, ob alle Upload-Signale ausgegeben werden sollen. Standardmäßig wird das uploadProgress-Signal nur in 100-Millisekunden-Intervallen ausgegeben. (Dieser Wert wurde in Version 5.5 eingeführt.) |
QNetworkRequest::OriginalContentLengthAttribute | 21 | Nur Antworten, Typ QMetaType::Int Hält das ursprüngliche Attribut content-length, bevor es ungültig gemacht und aus dem Header entfernt wird, wenn die Daten komprimiert werden und die Anforderung als automatisch dekomprimiert markiert wurde. (Dieser Wert wurde in 5.9 eingeführt.) |
QNetworkRequest::RedirectPolicyAttribute | 22 | Nur Anfragen, Typ: QMetaType::Int sollte einer der Werte von QNetworkRequest::RedirectPolicy sein (Standard: NoLessSafeRedirectPolicy). (Dieser Wert wurde in 5.9 eingeführt.) |
QNetworkRequest::Http2DirectAttribute | 23 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: false) Wenn dieses Attribut gesetzt ist, erzwingt QNetworkAccessManager die Verwendung des HTTP/2-Protokolls ohne anfängliche HTTP/2-Protokollaushandlung. Die Verwendung dieses Attributs setzt voraus, dass man weiß, dass ein bestimmter Server HTTP/2 unterstützt. Das Attribut funktioniert mit SSL oder mit "Klartext"-HTTP/2, wenn Http2CleartextAllowedAttribute gesetzt ist. Wenn sich herausstellt, dass ein Server HTTP/2 nicht unterstützt, obwohl HTTP/2 direct angegeben wurde, gibt QNetworkAccessManager auf, ohne zu versuchen, auf HTTP/1.1 zurückzugreifen. Wenn sowohl Http2AllowedAttribute als auch Http2DirectAttribute gesetzt sind, hat Http2DirectAttribute Vorrang. (Dieser Wert wurde in 5.11 eingeführt.) |
QNetworkRequest::AutoDeleteReplyOnFinishAttribute | 25 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: false) Wenn dieses Attribut gesetzt ist, wird QNetworkAccessManager die QNetworkReply löschen, nachdem es "finished" gesendet hat. (Dieser Wert wurde in 5.14 eingeführt.) |
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute | 26 | Nur Anfragen, Typ: QMetaType::Int Legt fest, wann die TCP-Verbindungen zu einem Server (HTTP1 und HTTP2) geschlossen werden sollen, nachdem die letzte anstehende Anfrage bearbeitet wurde. (Dieser Wert wurde in 6.3 eingeführt.) |
QNetworkRequest::Http2CleartextAllowedAttribute | 27 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: false) Wenn dieses Attribut gesetzt ist, weist QNetworkAccessManager an, ein Upgrade auf HTTP/2 über Klartext (auch bekannt als h2c) zu versuchen. Bis Qt 7 kann der Standardwert für dieses Attribut durch Setzen der Umgebungsvariablen QT_NETWORK_H2C_ALLOWED auf true überschrieben werden. Dieses Attribut wird ignoriert, wenn das Http2AllowedAttribute nicht gesetzt ist. (Dieser Wert wurde in 6.3 eingeführt.) |
QNetworkRequest::UseCredentialsAttribute | 28 | Nur Anfragen, Typ: QMetaType::Bool (Standardwert: false) Gibt an, ob die zugrundeliegenden XMLHttpRequest-Cross-Site-Access-Control-Anfragen unter Verwendung von Anmeldeinformationen gestellt werden sollen. Hat keine Auswirkung auf Anfragen gleichen Ursprungs. Dies betrifft nur die WebAssembly-Plattform. (Dieser Wert wurde in 6.5 eingeführt.) |
QNetworkRequest::FullLocalServerNameAttribute | 29 | Nur Anfragen, Typ: QMetaType::String Enthält den vollständigen lokalen Servernamen, der für die 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 für einen einfachen Namen nicht ausreicht. Die URL in QNetworkRequest muss weiterhin das Schema unix+http: oder local+http: verwenden. Und der Hostname in der URL wird für den Host-Header in der HTTP-Anfrage verwendet. (Dieser Wert wurde in 6.8 eingeführt.) |
QNetworkRequest::User | 1000 | Spezieller Typ. Zusätzliche Informationen können in QVarianten mit Typen von User bis UserMax übergeben werden. Die Standardimplementierung von Network Access ignoriert alle Anfrageattribute in diesem Bereich und erzeugt keine Attribute in diesem Bereich in Antworten. Der Bereich ist für Erweiterungen von QNetworkAccessManager reserviert. |
QNetworkRequest::UserMax | 32767 | Spezieller Typ. Siehe Benutzer. |
enum QNetworkRequest::CacheLoadControl
Steuert den Caching-Mechanismus von QNetworkAccessManager.
Konstante | Wert | Beschreibung |
---|---|---|
QNetworkRequest::AlwaysNetwork | 0 | immer aus dem Netz laden und nicht prüfen, ob der Cache einen gültigen Eintrag hat (ähnlich der "Reload"-Funktion in Browsern); außerdem eine erneute Validierung von Zwischen-Caches erzwingen. |
QNetworkRequest::PreferNetwork | 1 | Standardwert; aus dem Netz laden, wenn der Cache-Eintrag älter ist als der Netzeintrag. Damit werden niemals veraltete Daten aus dem Cache zurückgegeben, sondern veraltete Ressourcen neu validiert. |
QNetworkRequest::PreferCache | 2 | aus dem Cache laden, wenn verfügbar, sonst aus dem Netzwerk laden. Beachten Sie, dass dies möglicherweise veraltete (aber nicht abgelaufene) Elemente aus dem Cache zurückgeben kann. |
QNetworkRequest::AlwaysCache | 3 | nur aus dem Cache laden, wobei ein Fehler angezeigt wird, wenn das Element nicht im Cache war (d. h. Offline-Modus) |
enum QNetworkRequest::KnownHeaders
Liste der bekannten Header-Typen, die QNetworkRequest analysiert. Jeder bekannte Header wird auch in Rohform mit seinem vollständigen HTTP-Namen dargestellt.
Konstante | Wert | Beschreibung |
---|---|---|
QNetworkRequest::ContentDispositionHeader | 6 | Entspricht dem HTTP Content-Disposition-Header und enthält eine Zeichenkette mit dem Dispositionstyp (z. B. Attachment) und einem Parameter (z. B. Dateiname). |
QNetworkRequest::ContentTypeHeader | 0 | Entspricht dem HTTP-Content-Type-Header und enthält eine Zeichenkette, die den Medientyp (MIME-Typ) und eventuelle Hilfsdaten (z. B. Zeichensatz) enthält. |
QNetworkRequest::ContentLengthHeader | 1 | Entspricht dem HTTP Content-Length Header und enthält die Länge der übertragenen Daten in Bytes. |
QNetworkRequest::LocationHeader | 2 | Entspricht dem HTTP-Location-Header und enthält eine URL, die den tatsächlichen Ort der Daten darstellt, einschließlich der Ziel-URL im Falle von Weiterleitungen. |
QNetworkRequest::LastModifiedHeader | 3 | Entspricht dem HTTP Last-Modified-Header und enthält eine QDateTime, die das letzte Änderungsdatum des Inhalts angibt. |
QNetworkRequest::IfModifiedSinceHeader | 9 | Entspricht dem HTTP If-Modified-Since-Header und enthält ein QDateTime. Es wird in der Regel zu einem QNetworkRequest hinzugefügt. Der Server sendet eine 304 (Not Modified)-Antwort, wenn die Ressource seit diesem Zeitpunkt nicht geändert wurde. |
QNetworkRequest::ETagHeader | 10 | Entspricht dem HTTP ETag-Header und enthält ein QString, das den letzten Änderungsstand des Inhalts angibt. |
QNetworkRequest::IfMatchHeader | 11 | Entspricht dem HTTP If-Match Header und enthält ein QStringList. Es wird normalerweise zu einem QNetworkRequest hinzugefügt. Der Server sendet eine 412 (Precondition Failed) Antwort, wenn die Ressource nicht übereinstimmt. |
QNetworkRequest::IfNoneMatchHeader | 12 | Entspricht dem HTTP If-None-Match-Header und enthält ein QStringList. Es wird normalerweise zu einem QNetworkRequest hinzugefügt. Der Server sendet eine 304 (Not Modified)-Antwort, wenn die Ressource übereinstimmt. |
QNetworkRequest::CookieHeader | 4 | Entspricht dem HTTP-Cookie-Header und enthält ein QList<QNetworkCookie>, das die an den Server zurückzusendenden Cookies darstellt. |
QNetworkRequest::SetCookieHeader | 5 | Entspricht dem HTTP-Set-Cookie-Header und enthält ein QList<QNetworkCookie>, das die vom Server gesendeten und lokal zu speichernden Cookies angibt. |
QNetworkRequest::UserAgentHeader | 7 | Der User-Agent-Header, der von HTTP-Clients gesendet wird. |
QNetworkRequest::ServerHeader | 8 | Der Server-Header, der von HTTP-Clients empfangen wird. |
Siehe auch header(), setHeader(), rawHeader(), und setRawHeader().
enum QNetworkRequest::LoadControl
Zeigt 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 Aufzählung listet die möglichen Prioritäten für Netzanfragen 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 Network Access API automatisch einer HTTP-Umleitungsantwort folgen soll oder nicht.
Konstante | Wert | Beschreibung |
---|---|---|
QNetworkRequest::ManualRedirectPolicy | 0 | Keiner Weiterleitung folgen. |
QNetworkRequest::NoLessSafeRedirectPolicy | 1 | Standardwert: Nur "http"->"http", "http" -> "https" oder "https" -> "https" Umleitungen sind erlaubt. |
QNetworkRequest::SameOriginRedirectPolicy | 2 | Erfordern das gleiche Protokoll, den gleichen Host und den gleichen Port. Beachten Sie, dass http://example.com und http://example.com:80 mit dieser Richtlinie fehlschlagen (implizite/explizite Ports werden als Fehlanpassung betrachtet). |
QNetworkRequest::UserVerifiedRedirectPolicy | 3 | Der Client entscheidet, ob er jedem Redirect folgt, indem er das redirected()-Signal verarbeitet und redirectAllowed() auf das QNetworkReply -Objekt ausgibt, um den Redirect zuzulassen, oder ihn abbricht/beendet, um den Redirect abzulehnen. Dies kann z.B. verwendet werden, um den Benutzer zu fragen, ob er die Weiterleitung akzeptiert, oder um basierend auf einer app-spezifischen Konfiguration zu entscheiden. |
Hinweis: Wenn Qt Redirects verarbeitet, wird es aus Legacy- und Kompatibilitätsgründen die umgeleitete Anfrage mit GET ausgeben, wenn der Server eine 301- oder 302-Antwort zurückgibt, unabhängig von der ursprünglich verwendeten Methode, es sei denn, es war HEAD.
enum QNetworkRequest::TransferTimeoutConstant
Eine Konstante, die verwendet werden kann, um Übertragungszeitüberschreitungen mit einem voreingestellten Wert zu aktivieren.
Konstante | Wert | Beschreibung |
---|---|---|
QNetworkRequest::DefaultTransferTimeoutConstant | 30000 | Die Übertragungszeitüberschreitung in Millisekunden. Wird verwendet, wenn setTimeout() ohne ein Argument aufgerufen wird. |
Siehe auch QNetworkRequest::DefaultTransferTimeout.
Dokumentation der Mitgliedsfunktionen
QNetworkRequest::QNetworkRequest()
Konstruiert ein QNetworkRequest-Objekt ohne anzufordernde URL. Verwenden Sie setUrl(), um eine zu setzen.
Siehe auch url() und setUrl().
[explicit]
QNetworkRequest::QNetworkRequest(const QUrl &url)
Konstruiert ein QNetworkRequest-Objekt mit url als anzufordernde URL.
Siehe auch url() und setUrl().
QNetworkRequest::QNetworkRequest(const QNetworkRequest &other)
Erzeugt eine Kopie von other.
[noexcept]
QNetworkRequest::~QNetworkRequest()
Beseitigt das Objekt QNetworkRequest.
QVariant QNetworkRequest::attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue = QVariant()) const
Gibt das Attribut zurück, das mit dem Code code verbunden ist. Wenn das Attribut nicht gesetzt wurde, wird defaultValue zurückgegeben.
Hinweis: Diese Funktion wendet die in 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 von Archivbomben zurück.
Wenn die dekomprimierte Größe einer Antwort kleiner als dieser Wert ist, dekomprimiert Qt sie einfach, ohne weitere Prü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 rohe Header headerName in dieser Netzwerkanfrage vorhanden ist.
Hinweis: In Qt-Versionen vor 6.7 nahm diese Funktion nur QByteArray an.
Siehe auch rawHeader() und setRawHeader().
QVariant QNetworkRequest::header(QNetworkRequest::KnownHeaders header) const
Gibt den Wert des bekannten Netzwerk-Headers header zurück, wenn er in dieser Anfrage vorhanden ist. Wenn er nicht vorhanden ist, 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 Header zurück, die in dieser Netzwerkanfrage gesetzt sind.
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 ihr zugrunde liegende HTTP/2-Verbindung verwendet. Dies ist entweder eine Konfiguration, die zuvor von einer Anwendung festgelegt wurde, oder eine Standardkonfiguration.
Die Standardwerte, die QNetworkAccessManager verwendet, sind:
- Die Fenstergröße für die Flusskontrolle auf Verbindungsebene ist 2147483647 octets
- Die Fenstergröße für die Flusskontrolle auf Streamebene ist 214748364 octets
- Die maximale Framegröße beträgt 16384
Standardmäßig ist Server-Push deaktiviert, Huffman-Kompression und String-Indizierung sind aktiviert.
Siehe auch setHttp2Configuration.
int QNetworkRequest::maximumRedirectsAllowed() const
Gibt die maximale Anzahl von Umleitungen zurück, die für diese Anfrage verfolgt werden dürfen.
Siehe auch setMaximumRedirectsAllowed().
QObject *QNetworkRequest::originatingObject() const
Gibt einen Verweis auf das Objekt zurück, das diese Netzwerkanfrage ausgelöst hat; gibt nullptr
zurück, wenn es nicht gesetzt ist oder das Objekt zerstört wurde.
Siehe auch setOriginatingObject().
QString QNetworkRequest::peerVerifyName() const
Gibt den Hostnamen zurück, der für die Zertifikatsüberprüfung festgelegt wurde, wie von setPeerVerifyName festgelegt. Standardmäßig wird eine Null-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. Wenn keine solche Kopfzeile vorhanden ist, wird ein leeres QByteArray zurückgegeben, das nicht von einer Kopfzeile zu unterscheiden ist, die zwar vorhanden ist, aber keinen Inhalt hat (verwenden Sie hasRawHeader(), um herauszufinden, ob die Kopfzeile existiert oder nicht).
Rohe Header können mit setRawHeader() oder mit setHeader() gesetzt werden.
Hinweis: In Qt-Versionen vor 6.7 nahm diese Funktion nur QByteArray.
Siehe auch header() und setRawHeader().
QList<QByteArray> QNetworkRequest::rawHeaderList() const
Gibt eine Liste aller rohen Header zurück, die in dieser Netzwerkanfrage gesetzt wurden. Die Liste ist in der Reihenfolge, 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 verbundene Attribut auf den Wert value. Wenn das Attribut bereits gesetzt ist, wird der vorherige Wert verworfen. Insbesondere, wenn value ein ungültiger QVariant ist, wird das Attribut nicht gesetzt.
Siehe auch attribute() und QNetworkRequest::Attribute.
[since 6.2]
void QNetworkRequest::setDecompressedSafetyCheckThreshold(qint64 threshold)
Legt die threshold für Archivbombenprüfungen fest.
Einige unterstützte Kompressionsalgorithmen können in einer winzigen komprimierten Datei eine spektakulär große dekomprimierte Datei kodieren. Dies ist nur möglich, wenn der dekomprimierte Inhalt extrem eintönig ist, was bei echten Dateien, die in gutem Glauben übertragen werden, selten der Fall ist: Dateien, die solch irrsinnig hohe Komprimierungsraten aufweisen, sind in der Regel Nutzlast von Pufferüberlauf-Angriffen oder Denial-of-Service-Angriffen (weil sie zu viel Speicher verbrauchen). Folglich werden Dateien, die zu enormen Größen dekomprimiert werden, insbesondere aus winzigen komprimierten Formen, am besten als mutmaßliche Malware zurückgewiesen.
Wenn die dekomprimierte Größe einer Antwort größer ist als dieser Schwellenwert (standardmäßig 10 MiB, d.h. 10 * 1024 * 1024), prüft Qt das Kompressionsverhältnis: Wenn dieses unangemessen groß ist (40:1 für GZip und Deflate oder 100:1 für Brotli und ZStandard), wird die Antwort als Fehler behandelt. Wenn Sie den Schwellenwert auf -1
setzen, wird diese Prüfung ausgeschaltet.
Diese Funktion wurde in Qt 6.2 eingeführt.
Siehe auch decompressedSafetyCheckThreshold().
void QNetworkRequest::setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)
Legt den Wert der bekannten Kopfzeile header auf value fest und setzt damit alle zuvor festgelegten Kopfzeilen außer Kraft. Dieser Vorgang setzt auch den entsprechenden rohen HTTP-Header.
Siehe auch KnownHeaders, setRawHeader(), und header().
[since 6.8]
void QNetworkRequest::setHeaders(QHttpHeaders &&newHeaders)
Setzt newHeaders als Kopfzeilen in dieser Netzwerkanfrage und überschreibt alle zuvor gesetzten Kopfzeilen.
Wenn einige Header mit den bekannten Headern übereinstimmen, werden die Werte geparst und die entsprechende geparste Form wird 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 von configuration.
Diese Funktion wurde in Qt 6.5 eingeführt.
Siehe auch http1Configuration, QNetworkAccessManager, und QHttp1Configuration.
void QNetworkRequest::setHttp2Configuration(const QHttp2Configuration &configuration)
Setzt die HTTP/2-Parameter der Anfrage von configuration.
Hinweis: Die Konfiguration muss vor einer Anfrage festgelegt werden.
Hinweis: HTTP/2 multiplexiert mehrere Streams 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 gefunden wird.
Siehe auch http2Configuration, QNetworkAccessManager, und QHttp2Configuration.
void QNetworkRequest::setMaximumRedirectsAllowed(int maxRedirectsAllowed)
Setzt die maximale Anzahl von Umleitungen, die für diese Anfrage befolgt werden dürfen, auf maxRedirectsAllowed.
Siehe auch maximumRedirectsAllowed().
void QNetworkRequest::setOriginatingObject(QObject *object)
Ermöglicht das Setzen eines Verweises auf das object, das die Anfrage initiiert.
Zum Beispiel setzt Qt WebKit das originating object auf den QWebFrame, der die Anfrage initiiert hat.
Siehe auch originatingObject().
void QNetworkRequest::setPeerVerifyName(const QString &peerName)
Legt peerName als Hostname für die Zertifikatsüberprüfung fest, anstelle des für die TCP-Verbindung verwendeten Namens.
Siehe auch peerVerifyName.
void QNetworkRequest::setPriority(QNetworkRequest::Priority priority)
Setzen Sie die Priorität dieser Anfrage auf priority.
Hinweis: Die priority ist nur ein Hinweis für den Netzzugangsmanager. Er kann ihn verwenden oder nicht. Derzeit wird er für 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 einer bekannten Kopfzeile entspricht (siehe QNetworkRequest::KnownHeaders), wird das Rohformat geparst und die entsprechende "gekochte" Kopfzeile wird ebenfalls gesetzt.
Ein Beispiel:
request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));
setzt auch die bekannte Kopfzeile LastModifiedHeader auf das QDateTime Objekt des geparsten Datums.
Hinweis: Wird derselbe Header zweimal gesetzt, wird die vorherige Einstellung überschrieben. Um das Verhalten mehrerer HTTP-Header mit demselben Namen zu erreichen, sollten Sie die beiden Werte durch ein Komma (",") trennen und einen einzigen rohen Header setzen.
Hinweis: Seit Qt 6.8 werden die Namen der Headerfelder normalisiert, indem sie in Kleinbuchstaben umgewandelt werden.
Siehe auch KnownHeaders, setHeader(), hasRawHeader(), und rawHeader().
void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config)
Setzt die SSL-Konfiguration dieser Netzwerkanfrage auf config. Die relevanten Einstellungen sind der private Schlüssel, das lokale Zertifikat, das TLS-Protokoll (z. B. TLS 1.3), die CA-Zertifikate und die Chiffren, die das SSL-Backend verwenden darf.
Siehe auch sslConfiguration() und QSslConfiguration::defaultConfiguration().
void QNetworkRequest::setTransferTimeout(int timeout)
Setzt timeout als Übertragungszeitlimit in Millisekunden.
Siehe auch setTransferTimeout(std::chrono::milliseconds), transferTimeout(), und transferTimeoutAsDuration().
[since 6.7]
void QNetworkRequest::setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout)
Legt den Timeout duration fest, um die Übertragung abzubrechen, wenn keine Daten ausgetauscht werden.
Übertragungen werden abgebrochen, wenn vor Ablauf der Zeitüberschreitung keine Bytes übertragen werden. Null bedeutet, dass kein Timer gesetzt wird. Wenn kein Argument angegeben wird, ist die Zeitüberschreitung QNetworkRequest::DefaultTransferTimeout. Wenn diese Funktion nicht aufgerufen wird, ist die Zeitüberschreitung 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 fest, dass die URL, auf die sich diese Netzwerkanfrage bezieht, url ist.
Siehe auch url().
QSslConfiguration QNetworkRequest::sslConfiguration() const
Gibt die SSL-Konfiguration dieser Netzwerkanfrage zurück. Standardmäßig ist dies die gleiche wie QSslConfiguration::defaultConfiguration().
Siehe auch setSslConfiguration() und QSslConfiguration::defaultConfiguration().
[noexcept]
void QNetworkRequest::swap(QNetworkRequest &other)
Tauscht diese Netzanfrage mit other aus. Dieser Vorgang ist sehr schnell und schlägt nie fehl.
int QNetworkRequest::transferTimeout() const
Gibt die für Übertragungen verwendete Zeitüberschreitung in Millisekunden zurück.
Wenn transferTimeoutAsDuration().count() nicht in int
dargestellt werden kann, gibt diese Funktion stattdessen INT_MAX
/INT_MIN
zurück.
Siehe auch setTransferTimeout() und transferTimeoutAsDuration().
[since 6.7]
std::chrono::milliseconds QNetworkRequest::transferTimeoutAsDuration() const
Gibt die Timeout-Dauer zurück, nach der die Übertragung abgebrochen wird, wenn keine Daten ausgetauscht werden.
Die Standarddauer ist Null, was bedeutet, dass die Zeitüberschreitung nicht genutzt 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 Netzwerkanfrage bezieht.
Siehe auch setUrl().
bool QNetworkRequest::operator!=(const QNetworkRequest &other) const
Gibt false
zurück, wenn dieses Objekt nicht mit other identisch ist.
Siehe auch operator==().
QNetworkRequest &QNetworkRequest::operator=(const QNetworkRequest &other)
Erzeugt eine Kopie von other
bool QNetworkRequest::operator==(const QNetworkRequest &other) const
Gibt true
zurück, wenn dieses Objekt dasselbe ist wie other (d. h. wenn sie dieselbe URL, dieselben Kopfzeilen und dieselben Metadateneinstellungen haben).
Siehe auch operator!=().
Dokumentation der Mitgliedsvariablen
const std::chrono::std::chrono::milliseconds QNetworkRequest::DefaultTransferTimeout
Das Timeout für die Übertragung mit QNetworkRequest::TransferTimeoutConstant Millisekunden. Wird verwendet, wenn setTransferTimeout() ohne ein Argument aufgerufen wird.
© 2025 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.