Sur cette page

QNetworkRequest Class

La classe QNetworkRequest contient une demande à envoyer à QNetworkAccessManager. Plus...

En-tête : #include <QNetworkRequest>
CMake : find_package(Qt6 REQUIRED COMPONENTS Network)
target_link_libraries(mytarget PRIVATE Qt6::Network)
qmake : QT += network

Types publics

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 }

Fonctions publiques

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

Membres publics statiques

const std::chrono::std::chrono::milliseconds DefaultTransferTimeout

Description détaillée

QNetworkRequest fait partie de l'API d'accès au réseau et est la classe qui contient les informations nécessaires pour envoyer une requête sur le réseau. Elle contient une URL et quelques informations auxiliaires qui peuvent être utilisées pour modifier la demande.

Voir également QNetworkReply et QNetworkAccessManager.

Documentation sur les types de membres

enum QNetworkRequest::Attribute

Codes d'attributs pour QNetworkRequest et QNetworkReply.

Les attributs sont des métadonnées supplémentaires utilisées pour contrôler le comportement de la demande et pour transmettre à l'application des informations supplémentaires provenant de la réponse. Les attributs sont également extensibles, ce qui permet aux implémentations personnalisées de transmettre des valeurs personnalisées.

Le tableau suivant explique quels sont les codes d'attributs par défaut, les types QVariant associés, la valeur par défaut si l'attribut est manquant et s'il est utilisé dans les demandes ou les réponses.

ConstanteValeurDescription de l'attribut
QNetworkRequest::HttpStatusCodeAttribute0Réponses uniquement, type : QMetaType::Int (pas de valeur par défaut) Indique le code d'état HTTP reçu du serveur HTTP (comme 200, 304, 404, 401, etc.). Si la connexion n'est pas basée sur le protocole HTTP, cet attribut n'est pas présent.
QNetworkRequest::HttpReasonPhraseAttribute1Réponses uniquement, type : QMetaType::QByteArray (pas de valeur par défaut) Indique la phrase de raison HTTP telle qu'elle a été reçue du serveur HTTP (comme "Ok", "Found", "Not Found", "Access Denied", etc. Si la connexion n'est pas basée sur le protocole HTTP, cet attribut ne sera pas présent. Remarque : la phrase de raison n'est pas utilisée lors de l'utilisation de HTTP/2.
QNetworkRequest::RedirectionTargetAttribute2Réponses uniquement, type : QMetaType::QUrl (pas de valeur par défaut) S'il est présent, il indique que le serveur redirige la demande vers une autre URL. L'API d'accès au réseau suit les redirections par défaut, sauf si QNetworkRequest::ManualRedirectPolicy est utilisé. En outre, si QNetworkRequest::UserVerifiedRedirectPolicy est utilisé, cet attribut sera défini si la redirection n'a pas été suivie. L'URL renvoyée peut être relative. Utilisez QUrl::resolved() pour créer une URL absolue.
QNetworkRequest::ConnectionEncryptedAttribute3Réponses uniquement, type : QMetaType::Bool (default : false) Indique si les données ont été obtenues via une connexion cryptée (sécurisée).
QNetworkRequest::CacheLoadControlAttribute4Requêtes uniquement, type : QMetaType::Int (par défaut : QNetworkRequest::PreferNetwork) Contrôle la manière dont il convient d'accéder au cache. Les valeurs possibles sont celles de QNetworkRequest::CacheLoadControl. Notez que l'implémentation par défaut de QNetworkAccessManager ne prend pas en charge la mise en cache. Cependant, cet attribut peut être utilisé par certains backends pour modifier leurs requêtes (par exemple, pour les proxys de mise en cache).
QNetworkRequest::CacheSaveControlAttribute5Requests only, type : QMetaType::Bool (default : true) Contrôle si les données obtenues doivent être sauvegardées dans le cache pour des utilisations futures. Si la valeur est false, les données obtenues ne seront pas automatiquement mises en cache. Si la valeur est true, les données peuvent être mises en cache, à condition qu'elles puissent être mises en cache (ce qui peut être mis en cache dépend du protocole utilisé).
QNetworkRequest::SourceIsFromCacheAttribute6Réponses uniquement, type : QMetaType::Bool (valeur par défaut : false) Indique si les données ont été obtenues à partir du cache ou non.
QNetworkRequest::DoNotBufferUploadDataAttribute7Requêtes uniquement, type : QMetaType::Bool (défaut : false) Indique si le code QNetworkAccessManager est autorisé à mettre en mémoire tampon les données téléchargées, par exemple lors d'un POST HTTP. Lorsque cet indicateur est utilisé avec des données de téléchargement séquentielles, l'en-tête ContentLengthHeader doit être défini.
QNetworkRequest::HttpPipeliningAllowedAttribute8Requests only, type : QMetaType::Bool (default : false) Indique si le code QNetworkAccessManager est autorisé à utiliser HTTP pipelining avec cette requête.
QNetworkRequest::HttpPipeliningWasUsedAttribute9Réponses uniquement, type : QMetaType::Bool Indique si le pipelining HTTP a été utilisé pour la réception de cette réponse.
QNetworkRequest::CustomVerbAttribute10Requêtes uniquement, type : QMetaType::QByteArray Contient la valeur du verbe HTTP personnalisé à envoyer (destiné à l'utilisation de verbes autres que GET, POST, PUT et DELETE). Ce verbe est défini lors de l'appel à QNetworkAccessManager::sendCustomRequest().
QNetworkRequest::CookieLoadControlAttribute11Requêtes uniquement, type : QMetaType::Int (valeur par défaut : QNetworkRequest::Automatic) Indique s'il faut envoyer des en-têtes "Cookie" dans la requête. Cet attribut est mis à false par Qt WebKit lors de la création d'un XMLHttpRequest cross-origin où withCredentials n'a pas été explicitement mis à true par le Javascript qui a créé la requête. Voir ici pour plus d'informations. (Cette valeur a été introduite dans la version 4.7.)
QNetworkRequest::CookieSaveControlAttribute13Requêtes uniquement, type : QMetaType::Int (valeur par défaut : QNetworkRequest::Automatic) Indique s'il faut enregistrer les en-têtes "Cookie" reçus du serveur en réponse à la requête. Cet attribut est mis à false par Qt WebKit lors de la création d'un XMLHttpRequest cross-origin où withCredentials n'a pas été explicitement mis à true par le Javascript qui a créé la requête. Voir ici pour plus d'informations. (Cette valeur a été introduite dans la version 4.7.)
QNetworkRequest::AuthenticationReuseAttribute12Requêtes uniquement, type : QMetaType::Int (default : QNetworkRequest::Automatic) Indique s'il faut utiliser les informations d'autorisation mises en cache dans la requête, si elles sont disponibles. Si cet attribut vaut QNetworkRequest::Manual et que le mécanisme d'authentification est 'Basic' ou 'Digest', Qt XML n'enverra pas d'en-tête HTTP 'Authorization' avec les informations d'identification mises en cache qu'il peut avoir pour l'URL de la requête. Cet attribut est défini à QNetworkRequest::Manual par Qt WebKit lors de la création d'une requête XMLHttpRequest inter-origine où withCredentials n'a pas été explicitement défini à true par le Javascript qui a créé la requête. Voir ici pour plus d'informations. (Cette valeur a été introduite dans la version 4.7.)
QNetworkRequest::BackgroundRequestAttribute17Type : QMetaType::Bool (default : false) Indique qu'il s'agit d'un transfert en arrière-plan, plutôt que d'un transfert initié par l'utilisateur. Selon la plateforme, les transferts en arrière-plan peuvent être soumis à des politiques différentes.
QNetworkRequest::Http2AllowedAttribute19Requêtes uniquement, type : QMetaType::Bool (valeur par défaut : true) Indique si le code QNetworkAccessManager est autorisé à utiliser HTTP/2 avec cette requête. Cela s'applique aux requêtes SSL ou à HTTP/2 en "texte clair" si Http2CleartextAllowedAttribute est défini.
QNetworkRequest::Http2WasUsedAttribute20Réponses uniquement, type : QMetaType::Bool (default : false) Indique si HTTP/2 a été utilisé pour recevoir cette réponse. (Cette valeur a été introduite dans la version 5.9.)
QNetworkRequest::EmitAllUploadProgressSignalsAttribute18Requests only, type : QMetaType::Bool (default : false) Indique si tous les signaux de téléchargement doivent être émis. Par défaut, le signal uploadProgress n'est émis qu'à des intervalles de 100 millisecondes. (Cette valeur a été introduite dans la version 5.5.)
QNetworkRequest::OriginalContentLengthAttribute21Replies only, type QMetaType::Int Conserve l'attribut content-length original avant d'être invalidé et supprimé de l'en-tête lorsque les données sont compressées et que la requête a été marquée pour être décompressée automatiquement. (Cette valeur a été introduite dans la version 5.9.)
QNetworkRequest::RedirectPolicyAttribute22Requêtes uniquement, type : QMetaType::Int doit être l'une des valeurs de QNetworkRequest::RedirectPolicy (par défaut : NoLessSafeRedirectPolicy). (Cette valeur a été introduite dans la version 5.9.)
QNetworkRequest::Http2DirectAttribute23Requests only, type : QMetaType::Bool (default : false) S'il est défini, cet attribut forcera QNetworkAccessManager à utiliser le protocole HTTP/2 sans négociation initiale du protocole HTTP/2. L'utilisation de cet attribut implique une connaissance préalable du fait qu'un serveur particulier supporte HTTP/2. L'attribut fonctionne avec SSL ou avec HTTP/2 "en clair" si Http2CleartextAllowedAttribute est activé. Si un serveur s'avère ne pas prendre en charge HTTP/2, alors que HTTP/2 direct a été spécifié, QNetworkAccessManager abandonne, sans tenter de revenir à HTTP/1.1. Si Http2AllowedAttribute et Http2DirectAttribute sont tous deux définis, Http2DirectAttribute est prioritaire. (Cette valeur a été introduite dans la version 5.11.)
QNetworkRequest::AutoDeleteReplyOnFinishAttribute25Requêtes uniquement, type : QMetaType::Bool (default : false) Si cet attribut est activé, QNetworkAccessManager supprimera QNetworkReply après avoir émis "finished". (Cette valeur a été introduite dans la version 5.14.)
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute26Requêtes uniquement, type : QMetaType::Int Définit quand les connexions TCP vers un serveur (HTTP1 et HTTP2) doivent être fermées après le traitement de la dernière requête en attente. (Cette valeur a été introduite dans la version 6.3.)
QNetworkRequest::Http2CleartextAllowedAttribute27Requests only, type : QMetaType::Bool (default : false) S'il est défini, cet attribut indiquera à QNetworkAccessManager de tenter une mise à niveau vers HTTP/2 over cleartext (également connu sous le nom de h2c). Jusqu'à Qt 7, la valeur par défaut de cet attribut peut être remplacée par true en définissant la variable d'environnement QT_NETWORK_H2C_ALLOWED. Cet attribut est ignoré si l'attribut Http2AllowedAttribute n'est pas défini. (Cette valeur a été introduite dans la version 6.3.)
QNetworkRequest::UseCredentialsAttribute28Requests only, type : QMetaType::Bool (default : false) Indique si les demandes de contrôle d'accès intersites XMLHttpRequest sous-jacentes doivent être effectuées à l'aide d'informations d'identification. N'a aucun effet sur les requêtes de même origine. Ceci n'affecte que la plateforme WebAssembly. (Cette valeur a été introduite dans la version 6.5.)
QNetworkRequest::FullLocalServerNameAttribute29Requêtes uniquement, type : QMetaType::String Contient le nom complet du serveur local à utiliser pour l'adresse QLocalSocket sous-jacente. Cet attribut est utilisé par QNetworkAccessManager pour se connecter à un serveur local spécifique, lorsque le comportement de QLocalSocket pour un simple nom n'est pas suffisant. L'URL dans QNetworkRequest doit toujours utiliser le schéma unix+http : ou local+http :. Et le nom d'hôte dans l'URL sera utilisé pour l'en-tête Host dans la requête HTTP. (Cette valeur a été introduite dans la version 6.8.)
QNetworkRequest::User1000Type spécial. Des informations supplémentaires peuvent être transmises dans les QVariants avec des types allant de User à UserMax. L'implémentation par défaut de l'accès au réseau ignorera tout attribut de requête dans cette plage et ne produira aucun attribut dans cette plage dans les réponses. Cette plage est réservée aux extensions de QNetworkAccessManager.
QNetworkRequest::UserMax32767Type spécial. Voir Utilisateur.

enum QNetworkRequest::CacheLoadControl

Contrôle le mécanisme de mise en cache de QNetworkAccessManager.

ConstanteValeurDescription
QNetworkRequest::AlwaysNetwork0toujours charger à partir du réseau et ne pas vérifier si le cache contient une entrée valide (similaire à la fonction "Reload" des navigateurs) ; en outre, forcer les caches intermédiaires à revalider.
QNetworkRequest::PreferNetwork1valeur par défaut : chargement à partir du réseau si l'entrée du cache est plus ancienne que l'entrée du réseau. Les données périmées du cache ne seront jamais renvoyées, mais les ressources périmées seront revalidées.
QNetworkRequest::PreferCache2chargement à partir du cache s'il est disponible, sinon chargement à partir du réseau. Il est à noter que cette méthode peut renvoyer des éléments périmés (mais non expirés) du cache.
QNetworkRequest::AlwaysCache3ne charger qu'à partir du cache, en indiquant une erreur si l'élément n'a pas été mis en cache (c'est-à-dire en mode hors ligne).

enum QNetworkRequest::KnownHeaders

Liste des types d'en-têtes connus que QNetworkRequest analyse. Chaque en-tête connu est également représenté sous forme brute avec son nom HTTP complet.

ConstanteValeurDescription
QNetworkRequest::ContentDispositionHeader6Correspond à l'en-tête HTTP Content-Disposition et contient une chaîne contenant le type de disposition (par exemple, pièce jointe) et un paramètre (par exemple, nom de fichier).
QNetworkRequest::ContentTypeHeader0Correspond à l'en-tête HTTP Content-Type et contient une chaîne de caractères contenant le type de média (MIME) et toute donnée auxiliaire (par exemple, charset).
QNetworkRequest::ContentLengthHeader1Correspond à l'en-tête HTTP Content-Length et contient la longueur en octets des données transmises.
QNetworkRequest::LocationHeader2Correspond à l'en-tête HTTP Location et contient une URL représentant l'emplacement réel des données, y compris l'URL de destination en cas de redirection.
QNetworkRequest::LastModifiedHeader3Correspond à l'en-tête HTTP Last-Modified et contient un QDateTime représentant la date de dernière modification du contenu.
QNetworkRequest::IfModifiedSinceHeader9Correspond à l'en-tête HTTP If-Modified-Since et contient un QDateTime. Il est généralement ajouté à un QNetworkRequest. Le serveur envoie une réponse 304 (Not Modified) si la ressource n'a pas été modifiée depuis cette date.
QNetworkRequest::ETagHeader10Correspond à l'en-tête HTTP ETag et contient un QString représentant le dernier état de modification du contenu.
QNetworkRequest::IfMatchHeader11Correspond à l'en-tête HTTP If-Match et contient un QStringList. Il est généralement ajouté à un QNetworkRequest. Le serveur envoie une réponse 412 (Precondition Failed) si la ressource ne correspond pas.
QNetworkRequest::IfNoneMatchHeader12Correspond à l'en-tête HTTP If-None-Match et contient un QStringList. Il est généralement ajouté à un QNetworkRequest. Le serveur envoie une réponse 304 (Not Modified) si la ressource correspond.
QNetworkRequest::CookieHeader4Correspond à l'en-tête HTTP Cookie et contient un QList<QNetworkCookie> représentant les cookies à renvoyer au serveur.
QNetworkRequest::SetCookieHeader5Correspond à l'en-tête HTTP Set-Cookie et contient un QList<QNetworkCookie> représentant les cookies envoyés par le serveur pour être stockés localement.
QNetworkRequest::UserAgentHeader7L'en-tête User-Agent envoyé par les clients HTTP.
QNetworkRequest::ServerHeader8L'en-tête Server reçu par les clients HTTP.

Voir également header(), setHeader(), rawHeader() et setRawHeader().

enum QNetworkRequest::LoadControl

Indique si un aspect du mécanisme de chargement de la demande a été modifié manuellement, par exemple par Qt WebKit.

ConstanteValeurDescription de la constante
QNetworkRequest::Automatic0valeur par défaut : indique le comportement par défaut.
QNetworkRequest::Manual1indique que le comportement a été modifié manuellement.

enum QNetworkRequest::Priority

Cette liste énumère les priorités possibles des demandes de réseau.

ConstanteValeurDescription
QNetworkRequest::HighPriority1Priorité élevée
QNetworkRequest::NormalPriority3Priorité normale
QNetworkRequest::LowPriority5Priorité basse

enum QNetworkRequest::RedirectPolicy

Indique si l'API d'accès au réseau doit automatiquement suivre une réponse de redirection HTTP ou non.

ConstanteValeurDescription
QNetworkRequest::ManualRedirectPolicy0Ne suit aucune redirection.
QNetworkRequest::NoLessSafeRedirectPolicy1Valeur par défaut : Seules les redirections "http"->"http", "http" -> "https" ou "https" -> "https" sont autorisées.
QNetworkRequest::SameOriginRedirectPolicy2Le même protocole, le même hôte et le même port sont requis. Note : http://example.com et http://example.com:80 échoueront avec cette politique (les ports implicites/explicites sont considérés comme une non-concordance).
QNetworkRequest::UserVerifiedRedirectPolicy3Le client décide de suivre chaque redirection en traitant le signal redirected(), en émettant redirectAllowed() sur l'objet QNetworkReply pour autoriser la redirection ou en l'interrompant/le terminant pour rejeter la redirection. Cela peut être utilisé, par exemple, pour demander à l'utilisateur s'il accepte la redirection, ou pour décider en fonction d'une configuration spécifique à l'application.

Note : Lorsque Qt gère les redirections, il émettra, pour des raisons de compatibilité et d'héritage, la requête redirigée en utilisant GET lorsque le serveur renvoie une réponse 301 ou 302, quelle que soit la méthode originale utilisée, à moins qu'il ne s'agisse d'une méthode HEAD.

enum QNetworkRequest::TransferTimeoutConstant

Une constante qui peut être utilisée pour activer les délais de transfert avec une valeur prédéfinie.

ConstanteValeurDescription de la constante
QNetworkRequest::DefaultTransferTimeoutConstant30000Le délai de transfert en millisecondes. Utilisée si setTransferTimeout() est appelé sans argument.

Voir également QNetworkRequest::DefaultTransferTimeout.

Documentation des fonctions membres

QNetworkRequest::QNetworkRequest()

Construit un objet QNetworkRequest sans URL à demander. Utilisez setUrl() pour en définir une.

Voir aussi url() et setUrl().

[explicit] QNetworkRequest::QNetworkRequest(const QUrl &url)

Construit un objet QNetworkRequest avec url comme URL à demander.

Voir aussi url() et setUrl().

QNetworkRequest::QNetworkRequest(const QNetworkRequest &other)

Crée une copie de other.

[noexcept] QNetworkRequest::~QNetworkRequest()

Se débarrasse de l'objet QNetworkRequest.

QVariant QNetworkRequest::attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue = QVariant()) const

Renvoie l'attribut associé au code code. Si l'attribut n'a pas été défini, la fonction renvoie defaultValue.

Remarque : cette fonction n'applique pas les valeurs par défaut énumérées à l'adresse QNetworkRequest::Attribute.

Voir également setAttribute() et QNetworkRequest::Attribute.

[since 6.2] qint64 QNetworkRequest::decompressedSafetyCheckThreshold() const

Renvoie le seuil de vérification des bombes d'archives.

Si la taille décompressée d'une réponse est inférieure à ce seuil, Qt la décompressera simplement, sans autre vérification.

Cette fonction a été introduite dans Qt 6.2.

Voir aussi setDecompressedSafetyCheckThreshold().

bool QNetworkRequest::hasRawHeader(QAnyStringView headerName) const

Renvoie true si l'en-tête brut headerName est présent dans cette requête réseau.

Remarque : dans les versions de Qt antérieures à la version 6.7, cette fonction ne prenait que QByteArray.

Voir aussi rawHeader() et setRawHeader().

Renvoie la valeur de l'en-tête de réseau connu header s'il est présent dans cette requête. S'il n'est pas présent, il renvoie QVariant() (c'est-à-dire une variante non valide).

Voir aussi KnownHeaders, rawHeader(), et setHeader().

[since 6.8] QHttpHeaders QNetworkRequest::headers() const

Renvoie les en-têtes qui sont définis dans cette requête réseau.

Cette fonction a été introduite dans Qt 6.8.

Voir aussi setHeaders().

[since 6.5] QHttp1Configuration QNetworkRequest::http1Configuration() const

Renvoie les paramètres actuels que QNetworkAccessManager utilise pour la connexion HTTP/1 sous-jacente de cette requête.

Cette fonction a été introduite dans Qt 6.5.

Voir aussi setHttp1Configuration.

QHttp2Configuration QNetworkRequest::http2Configuration() const

Renvoie les paramètres actuels que QNetworkAccessManager utilise pour cette requête et sa connexion HTTP/2 sous-jacente. Il s'agit soit d'une configuration précédemment définie par une application, soit d'une configuration par défaut.

Les valeurs par défaut utilisées par QNetworkAccessManager sont les suivantes :

  • La taille de la fenêtre pour le contrôle de flux au niveau de la connexion est de 2147483647 octets.
  • La taille de la fenêtre pour le contrôle de flux au niveau du flux est de 214748364 octets.
  • La taille maximale de la trame est de 16384

Par défaut, le server push est désactivé, la compression Huffman et l'indexation des chaînes sont activées.

Voir aussi setHttp2Configuration.

int QNetworkRequest::maximumRedirectsAllowed() const

Renvoie le nombre maximum de redirections autorisées pour cette requête.

Voir aussi setMaximumRedirectsAllowed().

QObject *QNetworkRequest::originatingObject() const

Renvoie une référence à l'objet qui a initié cette requête réseau ; renvoie nullptr s'il n'est pas défini ou si l'objet a été détruit.

Voir aussi setOriginatingObject().

QString QNetworkRequest::peerVerifyName() const

Renvoie le nom d'hôte défini pour la validation du certificat, tel que défini par setPeerVerifyName. Par défaut, ce nom renvoie une chaîne de caractères nulle.

Voir aussi setPeerVerifyName.

QNetworkRequest::Priority QNetworkRequest::priority() const

Renvoie la priorité de cette demande.

Voir aussi setPriority().

QByteArray QNetworkRequest::rawHeader(QAnyStringView headerName) const

Renvoie la forme brute de l'en-tête headerName. Si un tel en-tête n'est pas présent, un QByteArray vide est renvoyé, ce qui peut être impossible à distinguer d'un en-tête présent mais sans contenu (utilisez hasRawHeader() pour savoir si l'en-tête existe ou non).

Les en-têtes bruts peuvent être définis avec setRawHeader() ou avec setHeader().

Remarque : dans les versions de Qt antérieures à la version 6.7, cette fonction ne prenait que QByteArray.

Voir aussi header() et setRawHeader().

QList<QByteArray> QNetworkRequest::rawHeaderList() const

Renvoie une liste de tous les en-têtes bruts définis dans cette requête réseau. La liste est dans l'ordre dans lequel les en-têtes ont été définis.

Voir aussi hasRawHeader() et rawHeader().

void QNetworkRequest::setAttribute(QNetworkRequest::Attribute code, const QVariant &value)

Attribue la valeur value à l'attribut associé au code code. Si l'attribut est déjà défini, la valeur précédente est supprimée. En particulier, si value est un QVariant invalide, l'attribut est désactivé.

Voir aussi attribute() et QNetworkRequest::Attribute.

[since 6.2] void QNetworkRequest::setDecompressedSafetyCheckThreshold(qint64 threshold)

Définit l'adresse threshold pour les vérifications des bombes d'archives.

Certains algorithmes de compression pris en charge peuvent, dans un minuscule fichier compressé, coder un fichier décompressé spectaculairement énorme. Cela n'est possible que si le contenu décompressé est extrêmement monotone, ce qui est rarement le cas pour les fichiers réels transmis en toute bonne foi : les fichiers présentant des taux de compression aussi élevés sont généralement des charges utiles d'attaques par dépassement de mémoire tampon ou par déni de service (en raison de l'utilisation d'une trop grande quantité de mémoire). Par conséquent, il est préférable de rejeter les fichiers qui se décompressent pour atteindre des tailles énormes, en particulier à partir de formes compressées minuscules, car ils sont soupçonnés d'être des logiciels malveillants.

Si la taille décompressée d'une réponse est supérieure à ce seuil (par défaut, 10 MiB, c'est-à-dire 10 * 1024 * 1024), Qt vérifiera le taux de compression : s'il est déraisonnablement élevé (40:1 pour GZip et Deflate, ou 100:1 pour Brotli et ZStandard), la réponse sera traitée comme une erreur. Définir le seuil à -1 désactive cette vérification.

Cette fonction a été introduite dans Qt 6.2.

Voir aussi decompressedSafetyCheckThreshold().

void QNetworkRequest::setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)

Fixe la valeur de l'en-tête connu header à value, en remplaçant tout en-tête précédemment défini. Cette opération définit également l'en-tête HTTP brut équivalent.

Voir aussi KnownHeaders, setRawHeader(), et header().

[since 6.8] void QNetworkRequest::setHeaders(QHttpHeaders &&newHeaders)

Définit newHeaders en tant qu'en-tête dans cette demande de réseau, en remplaçant tout en-tête précédemment défini.

Si certains en-têtes correspondent aux en-têtes connus, les valeurs seront analysées et la forme analysée correspondante sera également définie.

Cette fonction a été introduite dans Qt 6.8.

Voir aussi headers() et KnownHeaders.

[since 6.8] void QNetworkRequest::setHeaders(const QHttpHeaders &newHeaders)

Il s'agit d'une fonction surchargée.

Cette fonction a été introduite dans Qt 6.8.

[since 6.5] void QNetworkRequest::setHttp1Configuration(const QHttp1Configuration &configuration)

Définit les paramètres HTTP/1 de la requête à partir de configuration.

Cette fonction a été introduite dans Qt 6.5.

Voir aussi http1Configuration, QNetworkAccessManager, et QHttp1Configuration.

void QNetworkRequest::setHttp2Configuration(const QHttp2Configuration &configuration)

Définit les paramètres HTTP/2 de la requête à partir de configuration.

Note : La configuration doit être établie avant de faire une requête.

Remarque : HTTP/2 multiplexe plusieurs flux dans une seule connexion HTTP/2. Cela implique que QNetworkAccessManager utilisera la configuration trouvée dans la première requête d'une série de requêtes envoyées au même hôte.

Voir également http2Configuration, QNetworkAccessManager, et QHttp2Configuration.

void QNetworkRequest::setMaximumRedirectsAllowed(int maxRedirectsAllowed)

Définit le nombre maximum de redirections autorisées pour cette requête à maxRedirectsAllowed.

Voir aussi maximumRedirectsAllowed().

void QNetworkRequest::setOriginatingObject(QObject *object)

Permet de définir une référence à l'adresse object à l'origine de la demande.

Par exemple, Qt WebKit définit l'objet d'origine comme étant la QWebFrame qui a initié la requête.

Voir également originatingObject().

void QNetworkRequest::setPeerVerifyName(const QString &peerName)

Définit peerName comme nom d'hôte pour la validation du certificat, au lieu de celui utilisé pour la connexion TCP.

Voir aussi peerVerifyName.

void QNetworkRequest::setPriority(QNetworkRequest::Priority priority)

Définissez la priorité de cette demande à priority.

Note : Le site priority n'est qu'un indice pour le gestionnaire d'accès au réseau. Il peut l'utiliser ou non. Actuellement, il est utilisé pour HTTP afin de décider quelle requête doit être envoyée en premier à un serveur.

Voir aussi priority().

void QNetworkRequest::setRawHeader(const QByteArray &headerName, const QByteArray &headerValue)

Fixe l'en-tête headerName à la valeur headerValue. Si headerName correspond à un en-tête connu (voir QNetworkRequest::KnownHeaders), le format brut sera analysé et l'en-tête "cuit" correspondant sera également défini.

Par exemple :

request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));

définira également l'en-tête connu LastModifiedHeader comme étant l'objet QDateTime de la date analysée.

Remarque : le fait de définir deux fois le même en-tête annule le réglage précédent. Pour obtenir le comportement de plusieurs en-têtes HTTP du même nom, vous devez concaténer les deux valeurs, en les séparant par une virgule (",") et définir un seul en-tête brut.

Note : Depuis Qt 6.8, les noms des champs d'en-tête sont normalisés en les convertissant en minuscules.

Voir aussi KnownHeaders, setHeader(), hasRawHeader(), et rawHeader().

void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config)

Définit la configuration SSL de cette demande de réseau comme étant config. Les paramètres applicables sont la clé privée, le certificat local, le protocole TLS (par exemple TLS 1.3), les certificats CA et les algorithmes de chiffrement que le backend SSL est autorisé à utiliser.

Voir également sslConfiguration() et QSslConfiguration::defaultConfiguration().

[since 6.11] void QNetworkRequest::setTcpKeepAliveIdleTimeBeforeProbes(std::chrono::seconds idle)

Définit le temps d'inactivité de la connexion avant que TCP ne commence à envoyer des sondes keepalive à idle, si la fonctionnalité TCP Keepalive a été activée.

Cette fonction a été introduite dans Qt 6.11.

Voir aussi tcpKeepAliveIdleTimeBeforeProbes().

[since 6.11] void QNetworkRequest::setTcpKeepAliveIntervalBetweenProbes(std::chrono::seconds interval)

Définit le temps entre les sondes keepalive individuelles à être interval, si la fonctionnalité TCP Keepalive a été activée.

Cette fonction a été introduite dans Qt 6.11.

Voir aussi tcpKeepAliveIntervalBetweenProbes().

[since 6.11] void QNetworkRequest::setTcpKeepAliveProbeCount(int probes)

Définit le nombre maximum de keepalive probes que TCP doit envoyer avant d'abandonner la connexion, si la fonctionnalité TCP Keepalive a été activée.

Cette fonction a été introduite dans Qt 6.11.

Voir aussi tcpKeepAliveProbeCount().

void QNetworkRequest::setTransferTimeout(int timeout)

Définit timeout comme délai de transfert en millisecondes.

Voir aussi setTransferTimeout(std::chrono::millisecondes), transferTimeout(), et transferTimeoutAsDuration().

[since 6.7] void QNetworkRequest::setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout)

Définit le délai d'attente duration pour interrompre le transfert si aucune donnée n'est échangée.

Les transferts sont interrompus si aucun octet n'est transféré avant l'expiration du délai. Zéro signifie qu'aucun délai n'est défini. Si aucun argument n'est fourni, le délai d'attente est QNetworkRequest::DefaultTransferTimeout. Si cette fonction n'est pas appelée, le délai d'attente est désactivé et prend la valeur zéro.

Cette fonction a été introduite dans Qt 6.7.

Voir également transferTimeoutAsDuration().

void QNetworkRequest::setUrl(const QUrl &url)

Définit l'URL à laquelle cette demande de réseau fait référence comme étant url.

Voir aussi url().

QSslConfiguration QNetworkRequest::sslConfiguration() const

Renvoie la configuration SSL de cette requête réseau. Par défaut, elle est identique à celle de QSslConfiguration::defaultConfiguration().

Voir aussi setSslConfiguration() et QSslConfiguration::defaultConfiguration().

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

Remplace cette demande de réseau par other. Cette opération est très rapide et n'échoue jamais.

[since 6.11] std::chrono::seconds QNetworkRequest::tcpKeepAliveIdleTimeBeforeProbes() const

Renvoie le temps d'inactivité de la connexion avant que TCP ne commence à envoyer des sondes keepalive, si la fonctionnalité TCP Keepalive a été activée.

Cette fonction a été introduite dans Qt 6.11.

Voir aussi setTcpKeepAliveIdleTimeBeforeProbes().

[since 6.11] std::chrono::seconds QNetworkRequest::tcpKeepAliveIntervalBetweenProbes() const

Renvoie le temps entre les sondes keepalive individuelles, si la fonctionnalité TCP Keepalive a été activée.

Cette fonction a été introduite dans Qt 6.11.

Voir aussi setTcpKeepAliveIntervalBetweenProbes().

[since 6.11] int QNetworkRequest::tcpKeepAliveProbeCount() const

Renvoie le nombre maximum de sondes keepalive que TCP doit envoyer avant d'abandonner la connexion, si la fonctionnalité TCP Keepalive a été activée.

Cette fonction a été introduite dans Qt 6.11.

Voir aussi setTcpKeepAliveProbeCount().

int QNetworkRequest::transferTimeout() const

Renvoie le délai d'attente utilisé pour les transferts, en millisecondes.

Si transferTimeoutAsDuration().count() ne peut pas être représenté dans int, cette fonction renvoie INT_MAX/INT_MIN à la place.

Voir aussi setTransferTimeout() et transferTimeoutAsDuration().

[since 6.7] std::chrono::milliseconds QNetworkRequest::transferTimeoutAsDuration() const

Renvoie le délai d'attente après lequel le transfert est interrompu si aucune donnée n'est échangée.

La durée par défaut est zéro, ce qui signifie que le délai d'attente n'est pas utilisé.

Cette fonction a été introduite dans Qt 6.7.

Voir aussi setTransferTimeout(std::chrono::millisecondes).

QUrl QNetworkRequest::url() const

Renvoie l'URL à laquelle cette requête réseau fait référence.

Voir aussi setUrl().

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

Renvoie false si cet objet est différent de other.

Voir aussi operator==().

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

Crée une copie de other

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

Renvoie true si cet objet est identique à other (c'est-à-dire s'ils ont la même URL, les mêmes en-têtes et les mêmes paramètres de métadonnées).

Voir également operator!=().

Documentation des variables membres

const std::chrono::std::chrono::milliseconds QNetworkRequest::DefaultTransferTimeout

Le délai de transfert avec QNetworkRequest::TransferTimeoutConstant millisecondes. Utilisé si setTransferTimeout() est appelé sans argument.

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