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 |
- Liste de tous les membres, y compris les membres hérités
- QNetworkRequest fait partie de Network Programming API et de Implicitly Shared Classes.
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.
| Constante | Valeur | Description de l'attribut |
|---|---|---|
QNetworkRequest::HttpStatusCodeAttribute | 0 | Ré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::HttpReasonPhraseAttribute | 1 | Ré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::RedirectionTargetAttribute | 2 | Ré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::ConnectionEncryptedAttribute | 3 | Réponses uniquement, type : QMetaType::Bool (default : false) Indique si les données ont été obtenues via une connexion cryptée (sécurisée). |
QNetworkRequest::CacheLoadControlAttribute | 4 | Requê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::CacheSaveControlAttribute | 5 | Requests 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::SourceIsFromCacheAttribute | 6 | Réponses uniquement, type : QMetaType::Bool (valeur par défaut : false) Indique si les données ont été obtenues à partir du cache ou non. |
QNetworkRequest::DoNotBufferUploadDataAttribute | 7 | Requê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::HttpPipeliningAllowedAttribute | 8 | Requests only, type : QMetaType::Bool (default : false) Indique si le code QNetworkAccessManager est autorisé à utiliser HTTP pipelining avec cette requête. |
QNetworkRequest::HttpPipeliningWasUsedAttribute | 9 | Réponses uniquement, type : QMetaType::Bool Indique si le pipelining HTTP a été utilisé pour la réception de cette réponse. |
QNetworkRequest::CustomVerbAttribute | 10 | Requê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::CookieLoadControlAttribute | 11 | Requê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::CookieSaveControlAttribute | 13 | Requê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::AuthenticationReuseAttribute | 12 | Requê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::BackgroundRequestAttribute | 17 | Type : 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::Http2AllowedAttribute | 19 | Requê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::Http2WasUsedAttribute | 20 | Ré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::EmitAllUploadProgressSignalsAttribute | 18 | Requests 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::OriginalContentLengthAttribute | 21 | Replies 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::RedirectPolicyAttribute | 22 | Requê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::Http2DirectAttribute | 23 | Requests 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::AutoDeleteReplyOnFinishAttribute | 25 | Requê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::ConnectionCacheExpiryTimeoutSecondsAttribute | 26 | Requê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::Http2CleartextAllowedAttribute | 27 | Requests 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::UseCredentialsAttribute | 28 | Requests 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::FullLocalServerNameAttribute | 29 | Requê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::User | 1000 | Type 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::UserMax | 32767 | Type spécial. Voir Utilisateur. |
enum QNetworkRequest::CacheLoadControl
Contrôle le mécanisme de mise en cache de QNetworkAccessManager.
| Constante | Valeur | Description |
|---|---|---|
QNetworkRequest::AlwaysNetwork | 0 | toujours 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::PreferNetwork | 1 | valeur 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::PreferCache | 2 | chargement à 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::AlwaysCache | 3 | ne 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.
| Constante | Valeur | Description |
|---|---|---|
QNetworkRequest::ContentDispositionHeader | 6 | Correspond à 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::ContentTypeHeader | 0 | Correspond à 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::ContentLengthHeader | 1 | Correspond à l'en-tête HTTP Content-Length et contient la longueur en octets des données transmises. |
QNetworkRequest::LocationHeader | 2 | Correspond à 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::LastModifiedHeader | 3 | Correspond à l'en-tête HTTP Last-Modified et contient un QDateTime représentant la date de dernière modification du contenu. |
QNetworkRequest::IfModifiedSinceHeader | 9 | Correspond à 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::ETagHeader | 10 | Correspond à l'en-tête HTTP ETag et contient un QString représentant le dernier état de modification du contenu. |
QNetworkRequest::IfMatchHeader | 11 | Correspond à 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::IfNoneMatchHeader | 12 | Correspond à 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::CookieHeader | 4 | Correspond à l'en-tête HTTP Cookie et contient un QList<QNetworkCookie> représentant les cookies à renvoyer au serveur. |
QNetworkRequest::SetCookieHeader | 5 | Correspond à 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::UserAgentHeader | 7 | L'en-tête User-Agent envoyé par les clients HTTP. |
QNetworkRequest::ServerHeader | 8 | L'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.
| Constante | Valeur | Description de la constante |
|---|---|---|
QNetworkRequest::Automatic | 0 | valeur par défaut : indique le comportement par défaut. |
QNetworkRequest::Manual | 1 | indique que le comportement a été modifié manuellement. |
enum QNetworkRequest::Priority
Cette liste énumère les priorités possibles des demandes de réseau.
| Constante | Valeur | Description |
|---|---|---|
QNetworkRequest::HighPriority | 1 | Priorité élevée |
QNetworkRequest::NormalPriority | 3 | Priorité normale |
QNetworkRequest::LowPriority | 5 | Priorité 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.
| Constante | Valeur | Description |
|---|---|---|
QNetworkRequest::ManualRedirectPolicy | 0 | Ne suit aucune redirection. |
QNetworkRequest::NoLessSafeRedirectPolicy | 1 | Valeur par défaut : Seules les redirections "http"->"http", "http" -> "https" ou "https" -> "https" sont autorisées. |
QNetworkRequest::SameOriginRedirectPolicy | 2 | Le 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::UserVerifiedRedirectPolicy | 3 | Le 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.
| Constante | Valeur | Description de la constante |
|---|---|---|
QNetworkRequest::DefaultTransferTimeoutConstant | 30000 | Le 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.
[explicit] QNetworkRequest::QNetworkRequest(const QUrl &url)
Construit un objet QNetworkRequest avec url comme URL à demander.
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().
QVariant QNetworkRequest::header(QNetworkRequest::KnownHeaders header) const
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.