Sur cette page

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.

ConstanteValeurDescription
QWebEngineUrlScheme::SecureScheme0x1Indique 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::LocalScheme0x2Indique 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::LocalAccessAllowed0x4Indique que le contenu de ce schéma doit être autorisé à charger des ressources à partir de schémas dotés de l'indicateur LocalScheme.
QWebEngineUrlScheme::NoAccessAllowed0x8Indique 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::ServiceWorkersAllowed0x10Indique que l'API Service Workers doit être activée.
QWebEngineUrlScheme::ViewSourceAllowed0x20Indique que la fonction View Source doit être activée.
QWebEngineUrlScheme::ContentSecurityPolicyIgnored0x40Indique que les accès à ce schéma doivent contourner toutes les vérifications de Content-Security-Policy.
QWebEngineUrlScheme::CorsEnabled (since Qt 5.14)0x80Active 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)0x100Permet à 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.

ConstanteValeurDescription
QWebEngineUrlScheme::PortUnspecified-1Indique 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.

ConstanteValeurDescription
QWebEngineUrlScheme::Syntax::HostPortAndUserInformation0Le 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::HostAndPort1Le 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::Host2Le 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::Path3Une 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.

Voir aussi Flags et flags().

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.