En esta página

QWebEngineUrlScheme Class

La clase QWebEngineUrlScheme configura un esquema de URL personalizado. Más...

Cabecera: #include <QWebEngineUrlScheme>
CMake: find_package(Qt6 REQUIRED COMPONENTS WebEngineCore)
target_link_libraries(mytarget PRIVATE Qt6::WebEngineCore)
qmake: QT += webenginecore

Tipos Públicos

enum Flag { SecureScheme, LocalScheme, LocalAccessAllowed, NoAccessAllowed, ServiceWorkersAllowed, …, FetchApiAllowed }
flags Flags
enum SpecialPort { PortUnspecified }
enum class Syntax { HostPortAndUserInformation, HostAndPort, Host, Path }

Funciones Públicas

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

Miembros públicos estáticos

void registerScheme(const QWebEngineUrlScheme &scheme)
QWebEngineUrlScheme schemeByName(const QByteArray &name)

Descripción detallada

Un esquema de URL de motor web describe un esquema de URL desde la perspectiva del motor web, especificando cómo deben analizarse las URL de este esquema y qué restricciones de seguridad deben aplicarse a los recursos que se originan en dichas URL.

Los esquemas de URL personalizados deben configurarse al inicio de la aplicación, antes de crear cualquier clase de Qt WebEngine. En general, esto significa que los esquemas deben configurarse antes de crear una instancia de QGuiApplication o QApplication.

Cada configuración de esquema registrada se aplica globalmente a todos los perfiles.

int main(int argc, char **argv)
{
    QWebEngineUrlScheme scheme("myscheme");
    scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort);
    scheme.setDefaultPort(2345);
    scheme.setFlags(QWebEngineUrlScheme::SecureScheme);
    QWebEngineUrlScheme::registerScheme(scheme);
    ...
}

Para utilizar realmente el esquema de URL personalizado, debe crearse y registrarse un QWebEngineUrlSchemeHandler en un perfil.

Véase también QWebEngineUrlSchemeHandler.

Documentación de tipos de miembros

enum QWebEngineUrlScheme::Flag
flags QWebEngineUrlScheme::Flags

Este tipo enum especifica las opciones de seguridad que deben aplicarse a un esquema de URL.

ConstanteValorDescripción
QWebEngineUrlScheme::SecureScheme0x1Indica que el esquema URL es potencialmente fiable. Esta bandera sólo debe aplicarse a esquemas URL que garanticen la autenticidad, confidencialidad e integridad de los datos, ya sea mediante encriptación u otros medios. Algunos ejemplos de esquemas incorporados seguros son https (autenticado y cifrado) y qrc (sólo recursos locales), mientras que http es un ejemplo de esquema inseguro.
QWebEngineUrlScheme::LocalScheme0x2Indica que el esquema de URL proporciona acceso a recursos locales. El objetivo de esta bandera es impedir que el contenido de la red acceda a los recursos locales. Sólo los esquemas con la bandera LocalAccessAllowed pueden cargar recursos de un esquema con la bandera LocalScheme. El único esquema incorporado con esta bandera es file.
QWebEngineUrlScheme::LocalAccessAllowed0x4Indica que el contenido de este esquema debe poder cargar recursos de esquemas con la bandera LocalScheme.
QWebEngineUrlScheme::NoAccessAllowed0x8Indica que todo el contenido de este esquema debe tener orígenes opacos únicos: no habrá dos recursos con el mismo origen.
QWebEngineUrlScheme::ServiceWorkersAllowed0x10Indica que la API Service Workers debe estar habilitada.
QWebEngineUrlScheme::ViewSourceAllowed0x20Indica que la función View Source debe estar habilitada.
QWebEngineUrlScheme::ContentSecurityPolicyIgnored0x40Indica que los accesos a este esquema deben saltarse todas las comprobaciones de Content-Security-Policy.
QWebEngineUrlScheme::CorsEnabled (since Qt 5.14)0x80Activa la compartición de recursos entre orígenes (CORS) para este esquema. Esta bandera es necesaria para que el contenido sea cargado por documentos de un origen diferente, esto incluye el acceso desde otros esquemas. Las cabeceras CORS apropiadas son generadas automáticamente por la clase QWebEngineUrlRequestJob. Por defecto sólo http y https están habilitados para CORS. (Añadido en Qt 5.14)
QWebEngineUrlScheme::FetchApiAllowed (since Qt 6.6)0x100Habilita un esquema URL para ser utilizado por la API HTML5 fetch y XMLHttpRequest.send con un cuerpo. Por defecto solo http y https pueden ser enviados usando el Fetch API o con un XMLHttpRequest con un cuerpo.

El tipo Flags es un typedef para QFlags<Flag>. Almacena una combinación OR de valores Flag.

enum QWebEngineUrlScheme::SpecialPort

Este tipo enum define valores especiales para defaultPort.

ConstanteValorDescripción
QWebEngineUrlScheme::PortUnspecified-1Indica que el esquema URL no tiene un elemento puerto.

enum class QWebEngineUrlScheme::Syntax

Este tipo enum enumera los tipos de sintaxis de URL.

Para aplicar la política del mismo origen a un esquema de URL personalizado, WebEngine debe ser capaz de calcular el origen (combinación de host y puerto) de una URL. Las opciones Host... indican que el esquema de URL se ajusta a la sintaxis de URL estándar (como http) y activan automáticamente la política del mismo origen. La opción Path indica que el esquema de URL utiliza una sintaxis no estándar y que no se puede aplicar la política del mismo origen.

ConstanteValorDescripción
QWebEngineUrlScheme::Syntax::HostPortAndUserInformation0El componente de autoridad de una URL de este tipo tiene todos los elementos estándar: host, puerto, nombre de usuario y contraseña. Una URL sin puerto utilizará defaultPort (que no debe ser PortUnspecified).
QWebEngineUrlScheme::Syntax::HostAndPort1El componente de autoridad de una URL de este tipo sólo tiene los elementos host y port. Una URL sin puerto utilizará defaultPort (que no debe ser PortUnspecified).
QWebEngineUrlScheme::Syntax::Host2El componente de autoridad de una URL de este tipo sólo tiene la parte de host y no la de puerto. El defaultPort debe ser PortUnspecified.
QWebEngineUrlScheme::Syntax::Path3Una URL de este tipo no tiene ningún componente de autoridad. Todo lo que siga al nombre del esquema y al carácter separador (:) se conservará tal cual, sin validación ni canonicalización. Se considerará que todas las URL de un esquema de este tipo tienen el mismo origen (a menos que se utilice la bandera NoAccessAllowed ).

Documentación de las funciones miembro

QWebEngineUrlScheme::QWebEngineUrlScheme()

Construye un esquema de URL de motor web con valores por defecto.

[explicit] QWebEngineUrlScheme::QWebEngineUrlScheme(const QByteArray &name)

Construye un esquema de URL de motor web con la dirección name.

QWebEngineUrlScheme::QWebEngineUrlScheme(const QWebEngineUrlScheme &that)

Copias that.

QWebEngineUrlScheme::QWebEngineUrlScheme(QWebEngineUrlScheme &&that)

Mueve that.

[noexcept] QWebEngineUrlScheme::~QWebEngineUrlScheme()

Destruye este objeto.

int QWebEngineUrlScheme::defaultPort() const

Devuelve el puerto por defecto de este esquema URL.

El valor por defecto es PortUnspecified.

Véase también setDefaultPort().

QWebEngineUrlScheme::Flags QWebEngineUrlScheme::flags() const

Devuelve las banderas para este esquema de URL.

El valor por defecto es un conjunto vacío de banderas.

Véase también Flags y setFlags().

QByteArray QWebEngineUrlScheme::name() const

Devuelve el nombre de este esquema URL.

El valor por defecto es una cadena vacía.

Véase también setName().

[static] void QWebEngineUrlScheme::registerScheme(const QWebEngineUrlScheme &scheme)

Registra scheme con el analizador de URL y el modelo de seguridad del motor web.

Se recomienda que todos los esquemas de URL personalizados se registren primero con esta función al iniciar la aplicación, incluso si se van a utilizar las opciones predeterminadas.

Advertencia: Esta función debe ser llamada al inicio de la aplicación, antes de crear cualquier clase WebEngine. Las llamadas tardías serán ignoradas.

Véase también schemeByName().

[static] QWebEngineUrlScheme QWebEngineUrlScheme::schemeByName(const QByteArray &name)

Devuelve el esquema URL del motor web con el name dado o el esquema construido por defecto.

Véase también registerScheme().

void QWebEngineUrlScheme::setDefaultPort(int newValue)

Establece el puerto por defecto de este esquema URL en newValue.

Véase también defaultPort().

void QWebEngineUrlScheme::setFlags(QWebEngineUrlScheme::Flags newValue)

Establece las banderas para este esquema URL en newValue.

Véase también Flags y flags().

void QWebEngineUrlScheme::setName(const QByteArray &newValue)

Establece el nombre de este esquema de URL en newValue.

Nota: El nombre se convierte automáticamente a minúsculas.

Véase también name().

void QWebEngineUrlScheme::setSyntax(QWebEngineUrlScheme::Syntax newValue)

Establece el tipo de sintaxis de este esquema URL a newValue.

Véase también Syntax y syntax().

QWebEngineUrlScheme::Syntax QWebEngineUrlScheme::syntax() const

Devuelve el tipo de sintaxis de este esquema URL.

El valor por defecto es Path.

Véase también Syntax y setSyntax().

bool QWebEngineUrlScheme::operator!=(const QWebEngineUrlScheme &that) const

Devuelve true si este objeto y that no son iguales.

QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(QWebEngineUrlScheme &&that)

Mueve that.

QWebEngineUrlScheme &QWebEngineUrlScheme::operator=(const QWebEngineUrlScheme &that)

Copias that.

bool QWebEngineUrlScheme::operator==(const QWebEngineUrlScheme &that) const

Devuelve true si este objeto y that son iguales.

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