QWebEngineUrlScheme¶
The QWebEngineUrlScheme
class configures a custom URL scheme. More…
New in version 5.12.
Synopsis¶
Functions¶
def
__eq__
(that)def
__ne__
(that)def
defaultPort
()def
flags
()def
name
()def
setDefaultPort
(newValue)def
setFlags
(newValue)def
setName
(newValue)def
setSyntax
(newValue)def
syntax
()
Static functions¶
def
registerScheme
(scheme)def
schemeByName
(name)
Detailed Description¶
A web engine URL scheme describes a URL scheme from the web engine’s perspective, specifying how URLs of this scheme should be parsed, and which security restrictions should be placed on resources originating from such URLs.
Custom URL schemes must be configured early at application startup, before creating any Qt WebEngine classes. In general this means the schemes need to be configured before a QGuiApplication
or QApplication
instance is created.
Every registered scheme configuration applies globally to all profiles.
int main(int argc, char **argv) { QWebEngineUrlScheme scheme("myscheme"); scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort); scheme.setDefaultPort(2345); scheme.setFlags(QWebEngineUrlScheme::SecureScheme); QWebEngineUrlScheme::registerScheme(scheme); ... }
To actually make use of the custom URL scheme, a QWebEngineUrlSchemeHandler
must be created and registered in a profile.
See also
- class PySide6.QtWebEngineCore.QWebEngineUrlScheme¶
PySide6.QtWebEngineCore.QWebEngineUrlScheme(name)
PySide6.QtWebEngineCore.QWebEngineUrlScheme(that)
- Parameters
Constructs a web engine URL scheme with default values.
Constructs a web engine URL scheme with given name
.
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.Syntax¶
This enum type lists types of URL syntax.
To apply the same-origin policy to a custom URL scheme, WebEngine must be able to compute the origin (host and port combination) of a URL. The Host...
options indicate that the URL scheme conforms to the standard URL syntax (like http
) and automatically enable the same-origin policy. The Path
option indicates that the URL scheme uses a non-standard syntax and that the same-origin policy cannot be applied.
Constant
Description
QWebEngineUrlScheme.Syntax.HostPortAndUserInformation
The authority component of a URL of this type has all of the standard elements: host, port, user name, and password. A URL without a port will use the
defaultPort
(which must not bePortUnspecified
).QWebEngineUrlScheme.Syntax.HostAndPort
The authority component of a URL of this type has only the host and port elements. A URL without a port will use the
defaultPort
(which must not bePortUnspecified
).QWebEngineUrlScheme.Syntax.Host
The authority component of a URL of this type has only the host part and no port. The
defaultPort
must be set toPortUnspecified
.QWebEngineUrlScheme.Syntax.Path
A URL of this type has no authority component at all. Everything after scheme name and separator character (:) will be preserved as is without validation or canonicalization. All URLs of such a scheme will be considered as having the same origin (unless the
NoAccessAllowed
flag is used).
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.SpecialPort¶
This enum type defines special values for defaultPort
.
Constant
Description
QWebEngineUrlScheme.PortUnspecified
Indicates that the URL scheme does not have a port element.
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.Flag¶
This enum type specifies security options that should apply to a URL scheme.
Constant
Description
QWebEngineUrlScheme.SecureScheme
Indicates that the URL scheme is potentially trustworthy . This flag should only be applied to URL schemes which ensure data authenticity, confidentiality, and integrity, either through encryption or other means. Examples of secure builtin schemes include
https
(authenticated and encrypted) andqrc
(local resources only), whereashttp
is an example of an insecure scheme.QWebEngineUrlScheme.LocalScheme
Indicates that the URL scheme provides access to local resources. The purpose of this flag is to prevent network content from accessing local resources. Only schemes with the
LocalAccessAllowed
flag may load resources from a scheme with theLocal
flag. The only builtin schemes with this flag arefile
andqrc
.QWebEngineUrlScheme.LocalAccessAllowed
Indicates that content from this scheme should be allowed to load resources from schemes with the
Local
flag.QWebEngineUrlScheme.NoAccessAllowed
Indicates that all content from this scheme should be forced to have unique opaque origins: no two resources will have the same origin.
QWebEngineUrlScheme.ServiceWorkersAllowed
Indicates that the Service Workers API should be enabled.
QWebEngineUrlScheme.ViewSourceAllowed
Indicates that the View Source feature should be enabled.
QWebEngineUrlScheme.ContentSecurityPolicyIgnored
Indicates that accesses to this scheme should bypass all Content-Security-Policy checks.
QWebEngineUrlScheme.CorsEnabled
Enables cross-origin resource sharing (CORS) for this scheme. This flag is required in order to, for example, use the scheme with the Fetch API , or to deliver CSS fonts to a different origin. The appropriate CORS headers are generated automatically by the
QWebEngineUrlRequestJob
class. (Added in Qt 5.14)
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.defaultPort()¶
- Return type
int
Returns the default port of this URL scheme.
The default value is PortUnspecified
.
See also
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.flags()¶
- Return type
Flags
Returns the flags for this URL scheme.
The default value is an empty set of flags.
See also
Flags
setFlags()
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.name()¶
- Return type
Returns the name of this URL scheme.
The default value is an empty string.
See also
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.__ne__(that)¶
- Parameters
- Return type
bool
Returns true
if this and that
object are not equal.
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.__eq__(that)¶
- Parameters
- Return type
bool
Returns true
if this and that
object are equal.
- static PySide6.QtWebEngineCore.QWebEngineUrlScheme.registerScheme(scheme)¶
- Parameters
Registers scheme
with the web engine’s URL parser and security model.
It is recommended that all custom URL schemes are first registered with this function at application startup, even if the default options are to be used.
Warning
This function must be called early at application startup, before creating any WebEngine classes. Late calls will be ignored.
See also
- static PySide6.QtWebEngineCore.QWebEngineUrlScheme.schemeByName(name)¶
- Parameters
name –
PySide6.QtCore.QByteArray
- Return type
Returns the web engine URL scheme with the given name
or the default-constructed scheme.
See also
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.setDefaultPort(newValue)¶
- Parameters
newValue – int
Sets the default port of this URL scheme to newValue
.
See also
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.setFlags(newValue)¶
- Parameters
newValue –
Flags
Sets the flags for this URL scheme to newValue
.
See also
Flags
flags()
- PySide6.QtWebEngineCore.QWebEngineUrlScheme.setName(newValue)¶
- Parameters
newValue –
PySide6.QtCore.QByteArray
Sets the name of this URL scheme to newValue
.
Sets the syntax type of this URL scheme to newValue
.
See also
Syntax
syntax()
Returns the syntax type of this URL scheme.
The default value is Path
.
See also
Syntax
setSyntax()
© 2022 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.