QWebEngineUrlScheme Class
La classe QWebEngineUrlScheme configure un schéma d'URL personnalisé. Plus d'informations...
| En-tête : | #include <QWebEngineUrlScheme> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore) |
| qmake : | QT += webenginecore |
Types publics
| enum | Flag { SecureScheme, LocalScheme, LocalAccessAllowed, NoAccessAllowed, ServiceWorkersAllowed, …, FetchApiAllowed } |
| flags | Flags |
| enum | SpecialPort { PortUnspecified } |
| enum class | Syntax { HostPortAndUserInformation, HostAndPort, Host, Path } |
Fonctions publiques
| QWebEngineUrlScheme() | |
| QWebEngineUrlScheme(const QByteArray &name) | |
| QWebEngineUrlScheme(const QWebEngineUrlScheme &that) | |
| QWebEngineUrlScheme(QWebEngineUrlScheme &&that) | |
| ~QWebEngineUrlScheme() | |
| int | defaultPort() const |
| QWebEngineUrlScheme::Flags | flags() const |
| QByteArray | name() const |
| void | setDefaultPort(int newValue) |
| void | setFlags(QWebEngineUrlScheme::Flags newValue) |
| void | setName(const QByteArray &newValue) |
| void | setSyntax(QWebEngineUrlScheme::Syntax newValue) |
| QWebEngineUrlScheme::Syntax | syntax() const |
| bool | operator!=(const QWebEngineUrlScheme &that) const |
| QWebEngineUrlScheme & | operator=(QWebEngineUrlScheme &&that) |
| QWebEngineUrlScheme & | operator=(const QWebEngineUrlScheme &that) |
| bool | operator==(const QWebEngineUrlScheme &that) const |
Membres publics statiques
| void | registerScheme(const QWebEngineUrlScheme &scheme) |
| QWebEngineUrlScheme | schemeByName(const QByteArray &name) |
Description détaillée
Un schéma d'URL de moteur web décrit un schéma d'URL du point de vue du moteur web, en spécifiant comment les URL de ce schéma doivent être analysées et quelles restrictions de sécurité doivent être imposées aux ressources provenant de ces URL.
Les schémas d'URL personnalisés doivent être configurés dès le démarrage de l'application, avant la création des classes Qt WebEngine. En général, cela signifie que les schémas doivent être configurés avant la création d'une instance QGuiApplication ou QApplication.
Chaque configuration de schéma enregistrée s'applique globalement à tous les profils.
int main(int argc, char **argv) { QWebEngineUrlScheme scheme("myscheme"); scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort); scheme.setDefaultPort(2345); scheme.setFlags(QWebEngineUrlScheme::SecureScheme); QWebEngineUrlScheme::registerScheme(scheme); ... }
Pour utiliser réellement le schéma d'URL personnalisé, un QWebEngineUrlSchemeHandler doit être créé et enregistré dans un profil.
Voir aussi QWebEngineUrlSchemeHandler.
Documentation des types de membres
enum QWebEngineUrlScheme::Flag
flags QWebEngineUrlScheme::Flags
Ce type d'enum spécifie les options de sécurité qui doivent s'appliquer à un schéma d'URL.
| Constante | Valeur | Description |
|---|---|---|
QWebEngineUrlScheme::SecureScheme | 0x1 | Indique que le schéma d'URL est potentiellement digne de confiance. Cet indicateur ne doit être appliqué qu'aux schémas d'URL qui garantissent l'authenticité, la confidentialité et l'intégrité des données, par le biais du cryptage ou d'autres moyens. Les exemples de schémas intégrés sûrs sont https (authentifié et crypté) et qrc (ressources locales uniquement), tandis que http est un exemple de schéma non sûr. |
QWebEngineUrlScheme::LocalScheme | 0x2 | Indique que l'URL permet d'accéder aux ressources locales. L'objectif de cet indicateur est d'empêcher le contenu du réseau d'accéder aux ressources locales. Seuls les schémas dotés de l'indicateur LocalAccessAllowed peuvent charger des ressources à partir d'un schéma doté de l'indicateur LocalScheme. Le seul schéma intégré avec cet indicateur est file. |
QWebEngineUrlScheme::LocalAccessAllowed | 0x4 | Indique que le contenu de ce schéma doit être autorisé à charger des ressources à partir de schémas dotés de l'indicateur LocalScheme. |
QWebEngineUrlScheme::NoAccessAllowed | 0x8 | Indique que tout le contenu de ce schéma doit être contraint d'avoir des origines uniques et opaques : deux ressources n'auront pas la même origine. |
QWebEngineUrlScheme::ServiceWorkersAllowed | 0x10 | Indique que l'API Service Workers doit être activée. |
QWebEngineUrlScheme::ViewSourceAllowed | 0x20 | Indique que la fonction View Source doit être activée. |
QWebEngineUrlScheme::ContentSecurityPolicyIgnored | 0x40 | Indique que les accès à ce schéma doivent contourner toutes les vérifications de Content-Security-Policy. |
QWebEngineUrlScheme::CorsEnabled (since Qt 5.14) | 0x80 | Active le partage des ressources inter-origines (CORS) pour ce schéma. Cet indicateur est nécessaire pour que le contenu puisse être chargé par des documents d'une autre origine, ce qui inclut l'accès à partir d'autres systèmes. Les en-têtes CORS appropriés sont générés automatiquement par la classe QWebEngineUrlRequestJob. Par défaut, seuls http et https sont compatibles avec le CORS. (Ajouté dans Qt 5.14) |
QWebEngineUrlScheme::FetchApiAllowed (since Qt 6.6) | 0x100 | Permet à un schéma d'URL d'être utilisé par l'API HTML5 fetch et XMLHttpRequest.send avec un corps. Par défaut, seuls http et https peuvent être envoyés à l'aide de l'API Fetch ou d'un XMLHttpRequest avec un corps. |
Le type Flags est un typedef pour QFlags<Flag>. Il stocke une combinaison OU de valeurs de drapeaux.
enum QWebEngineUrlScheme::SpecialPort
Ce type d'énumération définit des valeurs spéciales pour defaultPort.
| Constante | Valeur | Description |
|---|---|---|
QWebEngineUrlScheme::PortUnspecified | -1 | Indique que le schéma URL ne comporte pas d'élément port. |
enum class QWebEngineUrlScheme::Syntax
Ce type de liste énumère les types de syntaxe d'URL.
Pour appliquer la politique de la même origine à un schéma d'URL personnalisé, WebEngine doit être en mesure de calculer l'origine (combinaison d'hôte et de port) d'une URL. Les options Host... indiquent que le schéma d'URL est conforme à la syntaxe URL standard (comme http) et activent automatiquement la politique de la même origine. L'option Path indique que le schéma d'URL utilise une syntaxe non standard et que la politique de la même origine ne peut pas être appliquée.
| Constante | Valeur | Description |
|---|---|---|
QWebEngineUrlScheme::Syntax::HostPortAndUserInformation | 0 | Le composant d'autorité d'un URL de ce type comporte tous les éléments standard : hôte, port, nom d'utilisateur et mot de passe. Un URL sans port utilisera l'adresse defaultPort (qui ne doit pas être PortUnspecified). |
QWebEngineUrlScheme::Syntax::HostAndPort | 1 | Le composant d'autorité d'un URL de ce type ne comporte que les éléments hôte et port. Une URL sans port utilisera defaultPort (qui ne doit pas être PortUnspecified). |
QWebEngineUrlScheme::Syntax::Host | 2 | Le composant d'autorité d'un URL de ce type ne comporte que la partie hôte et aucun port. L'adresse defaultPort doit être définie sur PortUnspecified. |
QWebEngineUrlScheme::Syntax::Path | 3 | Une URL de ce type n'a pas de composante d'autorité du tout. Tout ce qui suit le nom du schéma et le caractère séparateur ( :) sera conservé tel quel sans validation ni canonisation. Toutes les URL d'un tel schéma seront considérées comme ayant la même origine (à moins que le drapeau NoAccessAllowed ne soit utilisé). |
Documentation des fonctions membres
QWebEngineUrlScheme::QWebEngineUrlScheme()
Construit un schéma d'URL de moteur web avec des valeurs par défaut.
[explicit] QWebEngineUrlScheme::QWebEngineUrlScheme(const QByteArray &name)
Construit un schéma d'URL de moteur web avec name.
QWebEngineUrlScheme::QWebEngineUrlScheme(const QWebEngineUrlScheme &that)
Copies that.
QWebEngineUrlScheme::QWebEngineUrlScheme(QWebEngineUrlScheme &&that)
Déplacements that.
[noexcept] QWebEngineUrlScheme::~QWebEngineUrlScheme()
Détruit cet objet.
int QWebEngineUrlScheme::defaultPort() const
Renvoie le port par défaut de ce schéma d'URL.
La valeur par défaut est PortUnspecified.
Voir aussi setDefaultPort().
QWebEngineUrlScheme::Flags QWebEngineUrlScheme::flags() const
Renvoie les drapeaux pour ce schéma d'URL.
La valeur par défaut est un ensemble vide de drapeaux.
Voir aussi Flags et setFlags().
QByteArray QWebEngineUrlScheme::name() const
Renvoie le nom de ce schéma d'URL.
La valeur par défaut est une chaîne vide.
Voir aussi setName().
[static] void QWebEngineUrlScheme::registerScheme(const QWebEngineUrlScheme &scheme)
Enregistre scheme auprès de l'analyseur d'URL et du modèle de sécurité du moteur web.
Il est recommandé que tous les schémas d'URL personnalisés soient d'abord enregistrés avec cette fonction au démarrage de l'application, même si les options par défaut doivent être utilisées.
Attention : Cette fonction doit être appelée au début de l'application, avant de créer les classes WebEngine. Les appels tardifs seront ignorés.
Voir aussi schemeByName().
[static] QWebEngineUrlScheme QWebEngineUrlScheme::schemeByName(const QByteArray &name)
Renvoie le schéma de l'URL du moteur web avec l'adresse name donnée ou le schéma construit par défaut.
Voir aussi registerScheme().
void QWebEngineUrlScheme::setDefaultPort(int newValue)
Définit le port par défaut de ce schéma d'URL à newValue.
Voir aussi defaultPort().
void QWebEngineUrlScheme::setFlags(QWebEngineUrlScheme::Flags newValue)
Définit les drapeaux pour ce schéma d'URL à newValue.
void QWebEngineUrlScheme::setName(const QByteArray &newValue)
Définit le nom de ce schéma d'URL à newValue.
Remarque : le nom est automatiquement converti en minuscules.
Voir aussi name().
void QWebEngineUrlScheme::setSyntax(QWebEngineUrlScheme::Syntax newValue)
Définit le type de syntaxe de ce schéma d'URL à newValue.
Voir aussi Syntax et syntax().
QWebEngineUrlScheme::Syntax QWebEngineUrlScheme::syntax() const
Renvoie le type de syntaxe de ce schéma d'URL.
La valeur par défaut est Path.
Voir aussi Syntax et setSyntax().
bool QWebEngineUrlScheme::operator!=(const QWebEngineUrlScheme &that) const
Renvoie true si cet objet et l'objet that ne sont pas égaux.
QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(QWebEngineUrlScheme &&that)
Déplacements that.
QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(const QWebEngineUrlScheme &that)
Copies that.
bool QWebEngineUrlScheme::operator==(const QWebEngineUrlScheme &that) const
Renvoie true si cet objet et l'objet that sont identiques.
© 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.