PySide6.QtWebEngineCore.QWebEngineUrlScheme¶
- class QWebEngineUrlScheme¶
QWebEngineUrlScheme类用于配置自定义的URL方案。更多…概要¶
方法¶
def
__init__()def
defaultPort()def
flags()def
name()def
__ne__()def
__eq__()def
setDefaultPort()def
setFlags()def
setName()def
setSyntax()def
syntax()
静态函数¶
def
registerScheme()def
schemeByName()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
一个网页引擎URL方案从网页引擎的角度描述了URL方案,指定了如何解析这种方案的URL,以及应该对源自此类URL的资源施加哪些安全限制。
自定义URL方案必须在应用程序启动时尽早配置,在创建任何Qt WebEngine类之前。一般来说,这意味着需要在创建QGuiApplication或QApplication实例之前配置这些方案。
每个注册的方案配置都全局适用于所有配置文件。
int main(int argc, char **argv) { QWebEngineUrlScheme scheme("myscheme"); scheme.setSyntax(QWebEngineUrlScheme::Syntax::HostAndPort); scheme.setDefaultPort(2345); scheme.setFlags(QWebEngineUrlScheme::SecureScheme); QWebEngineUrlScheme::registerScheme(scheme); ... }
要实际使用自定义URL方案,必须在配置文件中创建并注册一个
QWebEngineUrlSchemeHandler。- class Syntax¶
此枚举类型列出了URL语法的类型。
要将同源策略应用于自定义URL方案,WebEngine必须能够计算URL的来源(主机和端口组合)。
Host...选项表示URL方案符合标准URL语法(如http),并自动启用同源策略。Path选项表示URL方案使用非标准语法,无法应用同源策略。常量
描述
QWebEngineUrlScheme.Syntax.HostPortAndUserInformation
这种类型的URL的授权组件包含所有标准元素:主机、端口、用户名和密码。没有端口的URL将使用
defaultPort(该端口必须不是PortUnspecified)。QWebEngineUrlScheme.Syntax.HostAndPort
这种类型的URL的授权部分仅包含主机和端口元素。没有端口的URL将使用
defaultPort(该端口必须不是PortUnspecified)。QWebEngineUrlScheme.Syntax.Host
此类型URL的授权组件仅包含主机部分,没有端口。
defaultPort必须设置为PortUnspecified。QWebEngineUrlScheme.Syntax.Path
这种类型的URL完全没有权限组件。在方案名称和分隔符(:)之后的所有内容将原样保留,不进行验证或规范化。所有这种方案的URL将被视为具有相同的来源(除非使用了
NoAccessAllowed标志)。
- class SpecialPort¶
此枚举类型定义了
defaultPort的特殊值。常量
描述
QWebEngineUrlScheme.PortUnspecified
表示URL方案没有端口元素。
- class Flag¶
(继承自
enum.Flag) 此枚举类型指定应应用于URL方案的安全选项。常量
描述
QWebEngineUrlScheme.SecureScheme
表示该URL方案是潜在可信的。此标志应仅应用于通过加密或其他方式确保数据真实性、机密性和完整性的URL方案。安全的内置方案示例包括
https(经过认证和加密)和qrc(仅限本地资源),而http是不安全方案的示例。QWebEngineUrlScheme.LocalScheme
表示该URL方案提供对本地资源的访问。此标志的目的是防止网络内容访问本地资源。只有具有
LocalAccessAllowed标志的方案才能从具有LocalScheme标志的方案加载资源。唯一具有此标志的内置方案是file。QWebEngineUrlScheme.LocalAccessAllowed
表示应允许从此方案加载具有
LocalScheme标志的方案的内容。QWebEngineUrlScheme.NoAccessAllowed
表示来自此方案的所有内容应强制具有唯一的不透明来源:没有两个资源将具有相同的来源。
QWebEngineUrlScheme.ServiceWorkersAllowed
表示应启用Service Workers API。
QWebEngineUrlScheme.ViewSourceAllowed
表示应启用查看源代码功能。
QWebEngineUrlScheme.ContentSecurityPolicyIgnored
表示访问此方案应绕过所有内容安全策略检查。
QWebEngineUrlScheme.CorsEnabled
为此方案启用跨域资源共享(CORS)。此标志是为了允许不同来源的文档加载内容,包括从其他方案的访问。
QWebEngineUrlRequestJob类会自动生成适当的CORS头信息。默认情况下,只有http和https启用了CORS。(在Qt 5.14中添加)QWebEngineUrlScheme.FetchApiAllowed
允许URL方案被HTML5 fetch API和
XMLHttpRequest.send与主体一起使用。默认情况下,只有http和https可以通过Fetch API或带有主体的XMLHttpRequest发送。
- __init__()¶
使用默认值构建一个网页引擎URL方案。
- __init__(name)
- Parameters:
名称 –
QByteArray
使用给定的
name构建一个web引擎URL方案。- __init__(that)
- Parameters:
that –
QWebEngineUrlScheme
复制
that。- defaultPort()¶
- Return type:
整数
返回此URL方案的默认端口。
默认值为
PortUnspecified。另请参阅
返回此URL方案的标志。
默认值是一组空的标志。
另请参阅
标志setFlags()- name()¶
- Return type:
返回此URL方案的名称。
默认值为空字符串。
另请参阅
- __ne__(that)¶
- Parameters:
that –
QWebEngineUrlScheme- Return type:
布尔
如果此对象与
that对象不相等,则返回true。- __eq__(that)¶
- Parameters:
that –
QWebEngineUrlScheme- Return type:
布尔
如果此对象与
that对象相等,则返回true。- static registerScheme(scheme)¶
- Parameters:
方案 –
QWebEngineUrlScheme
将
scheme注册到网页引擎的URL解析器和安全模型中。建议在应用程序启动时首先使用此函数注册所有自定义URL方案,即使要使用默认选项。
- static schemeByName(name)¶
- Parameters:
名称 –
QByteArray- Return type:
返回具有给定
name的web引擎URL方案或默认构造的方案。另请参阅
- setDefaultPort(newValue)¶
- Parameters:
newValue – int
将此URL方案的默认端口设置为
newValue。另请参阅
将此URL方案的标志设置为
newValue。另请参阅
标志flags()- setName(newValue)¶
- Parameters:
newValue –
QByteArray
将此URL方案的名称设置为
newValue。将此URL方案的语法类型设置为
newValue。返回此URL方案的语法类型。
默认值为
Path。另请参阅