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
。另请参阅