QNetworkRequest Class
La classe `QNetworkRequest` contient une requête à envoyer via ` QNetworkAccessManager`. En savoir 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 l'API de programmation réseau et des classes partagées implicitement.
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 contenant les informations nécessaires pour envoyer une requête sur le réseau. Elle contient une URL et des informations complémentaires pouvant être utilisées pour modifier la requête.
Voir également QNetworkReply et QNetworkAccessManager.
Documentation sur les types de membres
enum QNetworkRequest::Attribute
Codes d'attributs pour les URL QNetworkRequest et QNetworkReply.
Les attributs sont des métadonnées supplémentaires utilisées pour contrôler le comportement de la requête et pour renvoyer des informations complémentaires de la réponse vers l’application. Les attributs sont également extensibles, ce qui permet aux implémentations personnalisées de transmettre des valeurs personnalisées.
Le tableau suivant présente les codes d'attributs par défaut, les types d'QVariant s associés, la valeur par défaut en cas d'absence de l'attribut concerné, ainsi que son utilisation dans les requêtes ou les réponses.
| Constante | Valeur | Description |
|---|---|---|
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 (par exemple 200, 304, 404, 401, etc.). Si la connexion n'était pas de type HTTP, cet attribut ne sera pas présent. |
QNetworkRequest::HttpReasonPhraseAttribute | 1 | Réponses uniquement, type : QMetaType::QByteArray (pas de valeur par défaut) Indique la phrase de justification HTTP telle qu’elle a été reçue du serveur HTTP (comme « Ok », « Found », « Not Found », « Access Denied », etc.). Il s’agit de la représentation lisible par l’utilisateur du code d’état (voir ci-dessus). Si la connexion n’était pas de type HTTP, cet attribut ne sera pas présent. Remarque : la phrase de justification n’est pas utilisée avec HTTP/2. |
QNetworkRequest::RedirectionTargetAttribute | 2 | Réponses uniquement, type : QMetaType::QUrl (aucune valeur par défaut) S’il est présent, il indique que le serveur redirige la requête vers une autre URL. L’API d’accès au réseau suit les redirections par défaut, sauf si l’attribut « QNetworkRequest::ManualRedirectPolicy » est utilisé. De plus, si l’attribut « 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 en créer une URL absolue. |
QNetworkRequest::ConnectionEncryptedAttribute | 3 | Réponses uniquement, type : QMetaType::Bool (par défaut : false) Indique si les données ont été obtenues via une connexion chiffrée (sécurisée). |
QNetworkRequest::CacheLoadControlAttribute | 4 | Demandes uniquement, type : QMetaType::Int (par défaut : QNetworkRequest::PreferNetwork) Contrôle la manière dont le cache doit être accédé. 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 | Demandes uniquement, type : QMetaType::Bool (par défaut : true) Détermine si les données obtenues doivent être enregistrées en cache pour une utilisation ultérieure. 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 soient cachables (ce qui est cachable dépend du protocole utilisé). |
QNetworkRequest::SourceIsFromCacheAttribute | 6 | Réponses uniquement, type : QMetaType::Bool (par défaut : false) Indique si les données proviennent du cache ou non. |
QNetworkRequest::DoNotBufferUploadDataAttribute | 7 | Demandes uniquement, type : QMetaType::Bool (par défaut : false) Indique si le code d’ QNetworkAccessManager est autorisé à mettre en mémoire tampon les données de téléchargement, par exemple lors d’une requête HTTP POST. Lorsque ce drapeau est utilisé avec des données de téléchargement séquentielles, l’en-tête ContentLengthHeader doit être défini. |
QNetworkRequest::HttpPipeliningAllowedAttribute | 8 | Demandes uniquement, type : QMetaType::Bool (par défaut : false) Indique si le code QNetworkAccessManager est autorisé à utiliser le pipelining HTTP avec cette requête. |
QNetworkRequest::HttpPipeliningWasUsedAttribute | 9 | Réponses uniquement, type : QMetaType::Bool Indique si le pipelining HTTP a été utilisé pour recevoir cette réponse. |
QNetworkRequest::CustomVerbAttribute | 10 | Uniquement pour les requêtes, type : QMetaType::QByteArray Contient la valeur du verbe HTTP personnalisé à envoyer (destiné à l’utilisation d’autres verbes que GET, POST, PUT et DELETE). Ce verbe est défini lors de l’appel de QNetworkAccessManager::sendCustomRequest(). |
QNetworkRequest::CookieLoadControlAttribute | 11 | Demandes uniquement, type : QMetaType::Int (par défaut : QNetworkRequest::Automatic) Indique s'il faut envoyer des en-têtes « Cookie » dans la requête. Cet attribut est défini sur false par Qt WebKit lors de la création d'une requête XMLHttpRequest inter-origines lorsque withCredentials n'a pas été explicitement défini sur true par le code JavaScript ayant créé la requête. Voir ici pour plus d’informations. (Cette valeur a été introduite dans la version 4.7.) |
QNetworkRequest::CookieSaveControlAttribute | 13 | Demandes uniquement, type : QMetaType::Int (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 défini sur « false » par Qt WebKit lors de la création d'une requête XMLHttpRequest inter-origines pour laquelle l'attribut « withCredentials » n'a pas été explicitement défini sur « true » par le code JavaScript à l'origine de la requête. Cliquez ici pour plus d'informations. (Cette valeur a été introduite dans la version 4.7.) |
QNetworkRequest::AuthenticationReuseAttribute | 12 | Demandes uniquement, type : QMetaType::Int (par défaut : QNetworkRequest::Automatic) Indique s’il faut utiliser les informations d’identification mises en cache dans la requête, si elles sont disponibles. Si cette valeur est définie sur QNetworkRequest::Manual et que le mécanisme d’authentification est « Basic » ou « Digest », Qt n’enverra pas d’en-tête HTTP « Authorization » contenant les informations d’identification mises en cache dont il pourrait disposer pour l’URL de la requête. Cet attribut est défini sur QNetworkRequest::Manual par Qt WebKit lors de la création d’une requête XMLHttpRequest inter-origines lorsque withCredentials n’a pas été explicitement défini sur true par le code JavaScript ayant 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 (par défaut : 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 | Demandes uniquement, type : QMetaType::Bool (par défaut : true) Indique si le code d’ QNetworkAccessManager t autorisé à utiliser HTTP/2 avec cette requête. Cela s’applique aux requêtes SSL ou au HTTP/2 « en clair » si l’attribut `Http2CleartextAllowedAttribute` est défini. |
QNetworkRequest::Http2WasUsedAttribute | 20 | Réponses uniquement, type : QMetaType::Bool (par défaut : 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 | Uniquement pour les requêtes, type : QMetaType::Bool (par défaut : 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 | Réponses uniquement, type : QMetaType::Int Conserve l’attribut content-length d’origine avant qu’il ne soit 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 | Demandes uniquement, type : QMetaType::Int, doit correspondre à l’une des valeurs de QNetworkRequest::RedirectPolicy (par défaut : NoLessSafeRedirectPolicy). (Cette valeur a été introduite dans la version 5.9.) |
QNetworkRequest::Http2DirectAttribute | 23 | Demandes uniquement, type : QMetaType::Bool (par défaut : false). S’il est défini, cet attribut force QNetworkAccessManager à utiliser le protocole HTTP/2 sans négociation initiale du protocole HTTP/2. L’utilisation de cet attribut implique de savoir au préalable qu’un serveur donné prend en charge HTTP/2. L’attribut fonctionne avec SSL ou avec HTTP/2 en « texte clair » si Http2CleartextAllowedAttribute est défini. Si un serveur ne prend finalement pas en charge HTTP/2 alors que HTTP/2 direct a été spécifié, QNetworkAccessManager abandonne la connexion sans tenter de basculer vers HTTP/1.1. Si les attributs Http2AllowedAttribute et Http2DirectAttribute sont tous deux définis, Http2DirectAttribute est prioritaire. (Cette valeur a été introduite dans la version 5.11.) |
QNetworkRequest::AutoDeleteReplyOnFinishAttribute | 25 | Demandes uniquement, type : QMetaType::Bool (par défaut : false) S'il est activé, cet attribut force QNetworkAccessManager à supprimer l'QNetworkReply après avoir émis le message « finished ». (Cette valeur a été introduite dans la version 5.14.) |
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute | 26 | Demandes uniquement, type : QMetaType::Int Détermine 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. Si cet attribut n’est pas défini, le délai d’expiration par défaut de 120 secondes est utilisé. Définir cette valeur sur une valeur négative (par exemple -1) désactive la mise en cache de la connexion pour cette requête : la connexion ne sera ni stockée ni récupérée dans le cache, et sera fermée immédiatement après l'achèvement de la requête. Définir cette valeur sur 0 signifie que la connexion est partagée pendant son utilisation mais libérée dès qu’il n’y a plus rien dans la file d’attente. Une valeur positive spécifie un délai d’expiration personnalisé en secondes. (Cette valeur a été introduite dans la version 6.3.) |
QNetworkRequest::Http2CleartextAllowedAttribute | 27 | Demandes uniquement, type : QMetaType::Bool (par défaut : false) S’il est défini, cet attribut indique à QNetworkAccessManager de tenter une mise à niveau vers HTTP/2 en texte clair (également appelé 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 Http2AllowedAttribute n’est pas défini. (Cette valeur a été introduite dans la version 6.3.) |
QNetworkRequest::UseCredentialsAttribute | 28 | Requêtes uniquement, type : QMetaType::Bool (par défaut : false) Indique si les requêtes Access-Control intersites sous-jacentes de XMLHttpRequest doivent être effectuées à l’aide d’identifiants. N’a aucun effet sur les requêtes de même origine. Cela n’affecte que la plateforme WebAssembly. (Cette valeur a été introduite dans la version 6.5.) |
QNetworkRequest::FullLocalServerNameAttribute | 29 | Uniquement pour les requêtes, type : QMetaType::String Contient le nom complet du serveur local à utiliser pour l’ QLocalSocket sous-jacente. Cet attribut est utilisé par l’ QNetworkAccessManager pour se connecter à un serveur local spécifique, lorsque le comportement d’ QLocalSocket pour un nom simple ne suffit pas. L'URL dans QNetworkRequest doit toujours utiliser le schéma unix+http: ou local+http:. Le nom d'hôte de l'URL sera utilisé pour l'en-tête Host de 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 des QVariants dont les types vont de « User » à « UserMax ». L’implémentation par défaut de Network Access ignorera tous les attributs de requête de cette plage et ne produira aucun attribut de cette plage dans les réponses. Cette plage est réservée aux extensions de QNetworkAccessManager. |
QNetworkRequest::UserMax | 32767 | Type spécial. Voir User. |
enum QNetworkRequest::CacheLoadControl
Permet de contrôler le mécanisme de mise en cache de QNetworkAccessManager.
| Constante | Valeur | Description |
|---|---|---|
QNetworkRequest::AlwaysNetwork | 0 | Toujours charger depuis le réseau et ne pas vérifier si le cache contient une entrée valide (similaire à la fonctionnalité « Actualiser » des navigateurs) ; de plus, forcer les caches intermédiaires à revalider. |
QNetworkRequest::PreferNetwork | 1 | Valeur par défaut ; charge depuis le réseau si l’entrée mise en cache est plus ancienne que celle du réseau. Cela ne renverra jamais de données périmées provenant du cache, mais revalidera les ressources devenues périmées. |
QNetworkRequest::PreferCache | 2 | Charger à partir du cache s’il est disponible, sinon charger depuis le réseau. Notez que cela peut renvoyer des éléments potentiellement périmés (mais pas expirés) provenant du cache. |
QNetworkRequest::AlwaysCache | 3 | Charger uniquement à partir du cache, en signalant 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 analysés par QNetworkRequest. Chaque en-tête connu est également représenté sous sa 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 indiquant le type de disposition (par exemple, « attachment ») ainsi qu’un paramètre (par exemple, « filename »). |
QNetworkRequest::ContentTypeHeader | 0 | Correspond à l'en-tête HTTP Content-Type et contient une chaîne indiquant le type de média (MIME) ainsi que d'éventuelles données auxiliaires (par exemple, le jeu de caractères). |
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 une date de modification ( QDateTime ) représentant la date de la dernière modification du contenu. |
QNetworkRequest::IfModifiedSinceHeader | 9 | Correspond à l’en-tête HTTP `If-Modified-Since` et contient une ` QDateTime`. Il est généralement ajouté à un ` QNetworkRequest`. Le serveur doit envoyer une réponse 304 (Not Modified) si la ressource n’a pas changé depuis ce moment-là. |
QNetworkRequest::ETagHeader | 10 | Correspond à l’en-tête HTTP « ETag » et contient un « QString » représentant l’état de la dernière modification du contenu. |
QNetworkRequest::IfMatchHeader | 11 | Correspond à l’en-tête HTTP `If-Match` et contient une QStringList. Il est généralement ajouté à une requête de type ` QNetworkRequest`. Le serveur doit renvoyer une réponse 412 (Échec de la condition préalable) 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 doit envoyer une réponse 304 (Not Modified) si la ressource correspond. |
QNetworkRequest::CookieHeader | 4 | Correspond à l'en-tête HTTP « Cookie » et contient une chaîne de caractères QList<QNetworkCookie> représentant les cookies à renvoyer au serveur. |
QNetworkRequest::SetCookieHeader | 5 | Correspond à l’en-tête HTTP Set-Cookie et contient une 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 requête a été remplacé manuellement, par exemple par Qt WebKit.
| Constante | Valeur | Description |
|---|---|---|
QNetworkRequest::Automatic | 0 | valeur par défaut : indique le comportement par défaut. |
QNetworkRequest::Manual | 1 | indique que le comportement a été remplacé manuellement. |
enum QNetworkRequest::Priority
Cette énumération répertorie les priorités possibles pour les requêtes réseau.
| Constante | Valeur | Description |
|---|---|---|
QNetworkRequest::HighPriority | 1 | Priorité élevée |
QNetworkRequest::NormalPriority | 3 | Priorité normale |
QNetworkRequest::LowPriority | 5 | Faible priorité |
enum QNetworkRequest::RedirectPolicy
Indique si l'API d'accès au réseau doit ou non suivre automatiquement une réponse de redirection HTTP.
| 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 | Exige que le protocole, l’hôte et le port soient identiques. Remarque : les requêtes de type http://example.com et http://example.com:80 échoueront avec cette politique (les ports implicites/explicites sont considérés comme une incompatibilité). |
QNetworkRequest::UserVerifiedRedirectPolicy | 3 | Le client décide s’il suit chaque redirection en gérant le signal redirected(), en émettant la méthode redirectAllowed() sur l’objet QNetworkReply pour autoriser la redirection, ou en l’interrompant/en la clôturant pour la rejeter. Cela peut servir, par exemple, à demander à l’utilisateur s’il accepte la redirection, ou à prendre une décision en fonction d’une configuration spécifique à l’application. Remarque : lorsque Qt gère les redirections, il envoie, pour des raisons de compatibilité et de maintenance, la requête redirigée en utilisant la méthode GET lorsque le serveur renvoie une réponse 301 ou 302, quelle que soit la méthode d’origine utilisée, sauf si celle-ci était HEAD. |
enum QNetworkRequest::TransferTimeoutConstant
Une constante permettant d'activer les délais d'expiration de transfert avec une valeur prédéfinie.
| Constante | Valeur | Description |
|---|---|---|
QNetworkRequest::DefaultTransferTimeoutConstant | 30000 | Le délai d'expiration du transfert en millisecondes. Utilisée si la fonction setTransferTimeout() est appelée sans argument. |
Voir également QNetworkRequest::DefaultTransferTimeout.
Documentation des fonctions membres
QNetworkRequest::QNetworkRequest()
Crée un objet `QNetworkRequest` sans URL à interroger. Utilisez ` setUrl()` pour en définir une.
Voir également url() et setUrl().
[explicit] QNetworkRequest::QNetworkRequest(const QUrl &url)
Crée un objet QNetworkRequest avec l'URL url comme URL à interroger.
Voir également url() et setUrl().
QNetworkRequest::QNetworkRequest(const QNetworkRequest &other)
Crée une copie de other.
[noexcept] QNetworkRequest::~QNetworkRequest()
Supprime 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 répertoriées dans QNetworkRequest::Attribute.
Voir également ` setAttribute()` et ` QNetworkRequest::Attribute`.
[since 6.2] qint64 QNetworkRequest::decompressedSafetyCheckThreshold() const
Renvoie le seuil utilisé pour la détection des « archive bombs ».
Si la taille décompressée d'une réponse est inférieure à cette valeur, Qt se contentera de la décompresser, sans effectuer d'autres vérifications.
Cette fonction a été introduite dans Qt 6.2.
Voir également 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 n'acceptait que le paramètre « QByteArray ».
Voir également rawHeader() et setRawHeader().
QVariant QNetworkRequest::header(QNetworkRequest::KnownHeaders header) const
Renvoie la valeur de l'en-tête réseau connu « header » s'il est présent dans cette requête. S'il n'est pas présent, renvoie QVariant() (c'est-à-dire un variant non valide).
Voir également KnownHeaders, rawHeader() et setHeader().
[since 6.8] QHttpHeaders QNetworkRequest::headers() const
Renvoie les en-têtes définis dans cette requête réseau.
Cette fonction a été introduite dans Qt 6.8.
Voir également setHeaders().
[since 6.5] QHttp1Configuration QNetworkRequest::http1Configuration() const
Renvoie les paramètres actuels utilisés par ` QNetworkAccessManager ` 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 utilisés par QNetworkAccessManager 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 fenêtre pour le contrôle de flux au niveau du flux est de 2 147 483 64 octets
- La taille maximale de trame est de 16 384
Par défaut, la fonctionnalité « server push » est désactivée, tandis que la compression Huffman et l’indexation des chaînes de caractères sont activées.
Voir également setHttp2Configuration.
int QNetworkRequest::maximumRedirectsAllowed() const
Renvoie le nombre maximal de redirections autorisées pour cette requête.
Voir également setMaximumRedirectsAllowed().
QObject *QNetworkRequest::originatingObject() const
Renvoie une référence à l'objet qui a lancé cette requête réseau ; renvoie « nullptr » si cette référence n'est pas définie ou si l'objet a été détruit.
Voir également setOriginatingObject().
QString QNetworkRequest::peerVerifyName() const
Renvoie le nom d'hôte défini pour la validation du certificat, tel qu'il a été configuré via setPeerVerifyName. Par défaut, cette fonction renvoie une chaîne vide.
Voir également setPeerVerifyName.
QNetworkRequest::Priority QNetworkRequest::priority() const
Renvoie la priorité de cette requête.
Voir également setPriority().
QByteArray QNetworkRequest::rawHeader(QAnyStringView headerName) const
Renvoie la forme brute de l'en-tête headerName. Si cet en-tête n'existe pas, un QByteArray vide est renvoyé, ce qui peut être impossible à distinguer d'un en-tête présent mais sans contenu (utilisez hasRawHeader() pour vérifier si l'en-tête existe ou non).
Les en-têtes bruts peuvent être définis à l'aide de ` setRawHeader()` ou de ` setHeader()`.
Remarque : dans les versions de Qt antérieures à la version 6.7, cette fonction n'acceptait que l'argument « QByteArray ».
Voir également 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 classée dans l'ordre dans lequel les en-têtes ont été définis.
Voir également hasRawHeader() et rawHeader().
void QNetworkRequest::setAttribute(QNetworkRequest::Attribute code, const QVariant &value)
Définit l'attribut associé au code code sur la valeur value. Si l'attribut est déjà défini, la valeur précédente est ignorée. En particulier, si value correspond à un code QVariant non valide, l'attribut est désactivé.
Voir également attribute() et QNetworkRequest::Attribute.
[since 6.2] void QNetworkRequest::setDecompressedSafetyCheckThreshold(qint64 threshold)
Définit l'threshold e des vérifications de « bombe d'archive ».
Certains algorithmes de compression pris en charge peuvent, à partir d’un fichier compressé de très petite taille, générer un fichier décompressé d’une taille spectaculairement importante. Cela n’est possible que si le contenu décompressé est extrêmement monotone, ce qui est rarement le cas pour de véritables fichiers transmis de bonne foi : les fichiers présentant des taux de compression aussi démesurés sont généralement des charges utiles d’attaques par débordement de tampon ou d’attaques par déni de service (en consommant trop de mémoire). Par conséquent, les fichiers qui, une fois décompressés, atteignent des tailles gigantesques, en particulier s'ils proviennent de fichiers compressés de très petite taille, doivent de préférence être rejetés car soupçonnés d'être des logiciels malveillants.
Si la taille décompressée d’une réponse dépasse ce seuil (par défaut, 10 Mio, soit 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 sur -1 désactive cette vérification.
Remarque : cette vérification ne détecte que les réponses présentant des taux de compression anormalement élevés. Elle n’impose pas de limite absolue à la taille totale de la sortie décompressée. Une réponse présentant un taux de compression modéré (par exemple, 39:1 pour GZip) peut, une fois décompressée, atteindre une taille arbitrairement grande sans déclencher la vérification. Les applications communiquant avec des serveurs non fiables doivent surveiller QNetworkReply::bytesAvailable() ou QNetworkReply::downloadProgress() et interrompre les transferts qui dépassent une taille acceptable.
Cette fonction a été introduite dans Qt 6.2.
Voir également decompressedSafetyCheckThreshold().
void QNetworkRequest::setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value)
Définit la valeur de l'en-tête connu « header » sur « 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 également KnownHeaders, setRawHeader() et header().
[since 6.8] void QNetworkRequest::setHeaders(QHttpHeaders &&newHeaders)
Définit les en-têtes suivants : newHeaders dans cette requête réseau, en remplaçant tous les en-têtes précédemment définis.
Si certains en-têtes correspondent à des en-têtes connus, leurs valeurs seront analysées et la forme analysée correspondante sera également définie.
Cette fonction a été introduite dans Qt 6.8.
Voir également 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 également http1Configuration, QNetworkAccessManager et QHttp1Configuration.
void QNetworkRequest::setHttp2Configuration(const QHttp2Configuration &configuration)
Définit les paramètres HTTP/2 de la requête à partir de configuration.
Remarque : la configuration doit être définie avant d'effectuer une requête.
Remarque : HTTP/2 multiplexe plusieurs flux au sein d'une seule connexion HTTP/2. Cela signifie qu'QNetworkAccessManager utilisera la configuration détecté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 maximal de redirections autorisées pour cette requête vers maxRedirectsAllowed.
Voir également maximumRedirectsAllowed().
void QNetworkRequest::setOriginatingObject(QObject *object)
Permet de définir une référence à l'object e à l'origine de la requête.
Par exemple, Qt WebKit définit l'objet d'origine comme étant le QWebFrame qui a lancé 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, à la place de celui utilisé pour la connexion TCP.
Voir également peerVerifyName.
void QNetworkRequest::setPriority(QNetworkRequest::Priority priority)
Définissez la priorité de cette requête sur « priority ».
Remarque : la valeur « priority » n'est qu'une indication pour le gestionnaire d'accès réseau. Celui-ci peut choisir de l'utiliser ou non. Actuellement, elle est utilisée pour le protocole HTTP afin de déterminer quelle requête doit être envoyée en premier à un serveur.
Voir également priority().
void QNetworkRequest::setRawHeader(const QByteArray &headerName, const QByteArray &headerValue)
Définit l'headerName de l'en-tête sur la valeur headerValue. Si headerName correspond à un en-tête connu (voir QNetworkRequest::KnownHeaders), le format brut sera analysé et l'en-tête « préparé » 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 correspondant à la date analysée.
Remarque : définir deux fois le même en-tête remplace le paramétrage précédent. Pour obtenir le comportement de plusieurs en-têtes HTTP portant le 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.
Remarque : depuis Qt 6.8, les noms des champs d’en-tête sont normalisés en les convertissant en minuscules.
Voir également KnownHeaders, setHeader(), hasRawHeader() et rawHeader().
void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config)
Définit la configuration SSL de cette requête réseau sur config. Les paramètres concernés sont la clé privée, le certificat local, le protocole TLS (par exemple TLS 1.3), les certificats d'autorité de certification (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 la durée pendant laquelle la connexion doit rester inactive avant que le protocole TCP ne commence à envoyer des requêtes de maintien de connexion (keepalive) à l'adresse idle, si la fonctionnalité TCP Keepalive a été activée.
Cette fonction a été introduite dans Qt 6.11.
Voir également tcpKeepAliveIdleTimeBeforeProbes().
[since 6.11] void QNetworkRequest::setTcpKeepAliveIntervalBetweenProbes(std::chrono::seconds interval)
Définit l'intervalle entre chaque requête de maintien de connexion (keepalive) à interval, si la fonctionnalité TCP Keepalive a été activée.
Cette fonction a été introduite dans Qt 6.11.
Voir également tcpKeepAliveIntervalBetweenProbes().
[since 6.11] void QNetworkRequest::setTcpKeepAliveProbeCount(int probes)
Définit le nombre maximal d'probes s « keepalive » que le protocole TCP doit envoyer avant de couper la connexion, si la fonctionnalité TCP Keepalive a été activée.
Cette fonction a été introduite dans Qt 6.11.
Voir également ` tcpKeepAliveProbeCount()`.
void QNetworkRequest::setTransferTimeout(int timeout)
Définit la valeur timeout comme délai d'expiration du transfert, en millisecondes.
Voir également setTransferTimeout(std::chrono::milliseconds), transferTimeout() et transferTimeoutAsDuration().
[since 6.7] void QNetworkRequest::setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout)
Définit le délai d'duration, au-delà duquel le transfert est interrompu 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 d’attente. La valeur zéro signifie qu’aucun délai d’attente 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 requête 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 renvoyée par la fonction QSslConfiguration::defaultConfiguration().
Voir également setSslConfiguration() et QSslConfiguration::defaultConfiguration().
[noexcept] void QNetworkRequest::swap(QNetworkRequest &other)
Permet d'échanger cette requête réseau contre celle de other. Cette opération est très rapide et ne rencontre jamais d'échec.
[since 6.11] std::chrono::seconds QNetworkRequest::tcpKeepAliveIdleTimeBeforeProbes() const
Renvoie la durée pendant laquelle la connexion doit rester inactive avant que le protocole TCP ne commence à envoyer des requêtes de maintien de connexion (keepalive), si la fonctionnalité TCP Keepalive a été activée.
Cette fonction a été introduite dans Qt 6.11.
Voir également ` setTcpKeepAliveIdleTimeBeforeProbes()`.
[since 6.11] std::chrono::seconds QNetworkRequest::tcpKeepAliveIntervalBetweenProbes() const
Renvoie le délai entre deux requêtes de maintien de connexion, si la fonctionnalité TCP Keepalive a été activée.
Cette fonction a été introduite dans Qt 6.11.
Voir également ` setTcpKeepAliveIntervalBetweenProbes()`.
[since 6.11] int QNetworkRequest::tcpKeepAliveProbeCount() const
Renvoie le nombre maximal de requêtes de maintien de connexion (keepalive) que le protocole TCP doit envoyer avant de fermer la connexion, si la fonctionnalité TCP Keepalive a été activée.
Cette fonction a été introduite dans Qt 6.11.
Voir également ` setTcpKeepAliveProbeCount()`.
int QNetworkRequest::transferTimeout() const
Renvoie le délai d'expiration utilisé pour les transferts, en millisecondes.
Si transferTimeoutAsDuration().count() ne peut pas être représenté sous la forme int, cette fonction renvoie à la place INT_MAX/INT_MIN.
Voir également setTransferTimeout() et transferTimeoutAsDuration().
[since 6.7] std::chrono::milliseconds QNetworkRequest::transferTimeoutAsDuration() const
Renvoie la durée du délai d'expiration au-delà duquel 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'expiration n'est pas utilisé.
Cette fonction a été introduite dans Qt 6.7.
Voir également setTransferTimeout(std::chrono::milliseconds).
QUrl QNetworkRequest::url() const
Renvoie l'URL à laquelle se réfère cette requête réseau.
Voir également setUrl().
bool QNetworkRequest::operator!=(const QNetworkRequest &other) const
Renvoie « false » si cet objet n'est pas identique à « other ».
Voir également 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 sur les variables membres
const std::chrono::std::chrono::milliseconds QNetworkRequest::DefaultTransferTimeout
Le délai d'expiration du transfert est de QNetworkRequest::TransferTimeoutConstant millisecondes. Utilisé lorsque la fonction setTransferTimeout() est appelée 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.