PySide6.QtNetwork.QNetworkRequestFactory¶
- class QNetworkRequestFactory¶
用于分组共享常见网络请求属性的远程服务器端点的便利类。更多…
在版本6.7中添加。
概要¶
方法¶
def
__init__()
def
attribute()
def
baseUrl()
def
bearerToken()
def
clearAttribute()
def
clearPassword()
def
clearUserName()
def
commonHeaders()
def
createRequest()
def
password()
def
priority()
def
setAttribute()
def
setBaseUrl()
def
setBearerToken()
def
setPassword()
def
setPriority()
def
setUserName()
def
swap()
def
userName()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
REST 服务器通常有一些需要相同标头和其他数据的端点。使用
QNetworkRequestFactory
将这些端点分组,可以更方便地向这些端点发出请求;在创建新请求时,只需提供通常变化的部分,例如 路径 和 查询 参数。QNetworkRequestFactory
的基本使用步骤如下:实例化
设置所有请求共有的数据
发出请求
使用示例:
# Instantiate a factory somewhere suitable in the application QNetworkRequestFactory api{{"https://example.com/v1"}} # Set bearer token api.setBearerToken("my_token") # Issue requests (reply handling omitted for brevity) manager.get(api.createRequest("models")) # https://example.com/v1/models # The conventional leading '/' for the path can be used as well manager.get(api.createRequest("/models")) # https://example.com/v1/models
- __init__()¶
创建一个新的
QNetworkRequestFactory
对象。使用setBaseUrl()
为请求设置一个有效的基础URL。另请参阅
QNetworkRequestFactory(const QUrl &baseUrl)
setBaseUrl()
- __init__(other)
- Parameters:
创建
other
的副本。- __init__(baseUrl)
- Parameters:
baseUrl –
QUrl
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
创建一个新的
QNetworkRequestFactory
对象,将基础URL初始化为baseUrl
。基础URL用于填充后续的网络请求。如果URL包含一个路径组件,它将被提取并用作后续网络请求中的基础路径。这意味着在请求单个请求时提供的任何路径都将附加到此基础路径上,如下所示:
# Here the API version v2 is used as the base path: QNetworkRequestFactory api{{"https://example.com/v2"}} # ... manager.get(api.createRequest("models")) # https://example.com/v2/models # Equivalent with a leading '/' manager.get(api.createRequest("/models")) # https://example.com/v2/models
返回与
attribute
关联的值。如果该属性尚未设置,则返回一个默认构造的QVariant。另请参阅
Attribute, const QVariant &)
setAttribute()
clearAttributes()
Attribute
- attribute(attribute, defaultValue)
- Parameters:
属性 –
Attribute
defaultValue – 对象
- Return type:
对象
返回与
attribute
关联的值。如果该属性尚未设置,则返回defaultValue
。返回用于各个请求的基础URL。
基础URL可能包含路径组件。此路径用作生成单个请求时提供的路径的“前缀”。
另请参阅
- bearerToken()¶
- Return type:
返回已设置的承载令牌。
如果存在承载令牌,则用于设置请求的
Authorization: Bearer my_token
头部。这是一种常见的授权约定,并作为额外的便利提供。获取承载令牌的方法各不相同。标准方法包括
OAuth2
和服务提供商的网站/仪表板。预计承载令牌会随时间变化。例如,当使用刷新令牌更新时,始终重新设置新令牌可确保后续请求具有最新且有效的令牌。持有者令牌的存在不会影响
commonHeaders()
列表。如果commonHeaders()
也列出了Authorization
头,它将被覆盖。清除
attribute
设置到此工厂。- clearAttributes()¶
清除为此工厂设置的任何属性。
- clearBearerToken()¶
清除承载令牌。
另请参阅
- clearCommonHeaders()¶
清除当前头部信息。
- clearPassword()¶
清除为此工厂设置的密码。
- clearQueryParameters()¶
清除查询参数。
另请参阅
- clearUserName()¶
清除设置为此工厂的用户名。
- commonHeaders()¶
- Return type:
返回当前设置的头部信息。
- createRequest()¶
- Return type:
返回一个
QNetworkRequest
。返回的请求填充了此工厂已配置的数据。
另请参阅
createRequest(const QUrlQuery&)
createRequest(const QString&, const QUrlQuery&)
- createRequest(path)
- Parameters:
路径 – 字符串
- Return type:
返回一个
QNetworkRequest
。返回的请求URL是通过将提供的
path
附加到baseUrl
(它本身可能有一个路径组件)来形成的。另请参阅
createRequest(const QString &, const QUrlQuery &)
createRequest()
baseUrl()
- createRequest(query)
- Parameters:
查询 –
QUrlQuery
- Return type:
返回一个
QNetworkRequest
。返回的请求URL是通过将提供的
query
附加到baseUrl
上形成的。另请参阅
createRequest(const QString &, const QUrlQuery &)
createRequest()
baseUrl()
- createRequest(path, query)
- Parameters:
path – 字符串
query –
QUrlQuery
- Return type:
返回一个
QNetworkRequest
。返回的请求URL是通过将提供的
path
和query
附加到baseUrl
(可能包含路径组件)而形成的。如果提供的
path
包含查询项,它们将与query
中的项合并。另请参阅
createRequest(const QUrlQuery&)
createRequest()
baseUrl()
- password()¶
- Return type:
字符串
返回设置到此工厂的密码。
返回由此工厂创建的任何未来请求所分配的优先级。
另请参阅
返回添加到各个请求查询参数中的查询参数。这些查询参数会被添加到通过各个
createRequest()
调用提供的任何潜在查询参数中。使用重复查询参数的用例取决于服务器,但典型的例子包括语言设置
?lang=en
,格式规范?format=json
,API 版本规范?version=1.0
和 API 密钥认证。将与
attribute
关联的值设置为value
。如果属性已经设置,则替换之前的值。这些属性将设置为此工厂创建的任何未来请求。设置用于单个请求的基础URL为
url
。另请参阅
- setBearerToken(token)¶
- Parameters:
token –
QByteArray
将承载令牌设置为
token
。- setCommonHeaders(headers)¶
- Parameters:
headers –
QHttpHeaders
设置
headers
,这些headers对所有请求都是通用的。这些标头被添加到单个请求的标头中。这是一种方便的设置机制,用于设置跨请求重复的标头。
- setPassword(password)¶
- Parameters:
password – str
将此工厂的密码设置为
password
。密码在调用
createRequest()
时设置在请求URL中。当服务器指示需要身份验证时,QRestAccessManager
/QNetworkAccessManager
将尝试使用这些凭据。设置此工厂创建的任何未来请求的优先级为
priority
。默认优先级是
NormalPriority
。另请参阅
设置
query
参数,这些参数会被添加到各个请求的查询参数中。- setSslConfiguration(configuration)¶
- Parameters:
配置 –
QSslConfiguration
将SSL配置设置为
configuration
。另请参阅
- setUserName(userName)¶
- Parameters:
userName – str
将此工厂的用户名设置为
userName
。用户名在调用
createRequest()
时设置在请求URL中。当服务器指示需要身份验证时,QRestAccessManager
/QNetworkAccessManager
将尝试使用这些凭据。- sslConfiguration()¶
- Return type:
返回设置到此工厂的SSL配置。SSL配置会设置到每个单独的请求中。
- swap(other)¶
- Parameters:
将此工厂与
other
交换。此操作非常快速且永远不会失败。- userName()¶
- Return type:
字符串
返回设置为此工厂的用户名。