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.
| Constante | Valor | Descripción |
|---|---|---|
QWebEngineUrlScheme::SecureScheme | 0x1 | Indica 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::LocalScheme | 0x2 | Indica 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::LocalAccessAllowed | 0x4 | Indica que el contenido de este esquema debe poder cargar recursos de esquemas con la bandera LocalScheme. |
QWebEngineUrlScheme::NoAccessAllowed | 0x8 | Indica que todo el contenido de este esquema debe tener orígenes opacos únicos: no habrá dos recursos con el mismo origen. |
QWebEngineUrlScheme::ServiceWorkersAllowed | 0x10 | Indica que la API Service Workers debe estar habilitada. |
QWebEngineUrlScheme::ViewSourceAllowed | 0x20 | Indica que la función View Source debe estar habilitada. |
QWebEngineUrlScheme::ContentSecurityPolicyIgnored | 0x40 | Indica que los accesos a este esquema deben saltarse todas las comprobaciones de Content-Security-Policy. |
QWebEngineUrlScheme::CorsEnabled (since Qt 5.14) | 0x80 | Activa 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) | 0x100 | Habilita 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.
| Constante | Valor | Descripción |
|---|---|---|
QWebEngineUrlScheme::PortUnspecified | -1 | Indica 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.
| Constante | Valor | Descripción |
|---|---|---|
QWebEngineUrlScheme::Syntax::HostPortAndUserInformation | 0 | El 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::HostAndPort | 1 | El 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::Host | 2 | El 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::Path | 3 | Una 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.