- class QNetworkRequestFactory#
用于将具有共同网络请求属性的外部服务器端点分组的新功能类。 更多…
新版本 6.7 中引入。
概述#
方法#
def
__init__()
定义
baseUrl()
定义
password()
定义
setBaseUrl()
定义
swap()
定义
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__(other)#
- 参数:
other –
QNetworkRequestFactory
创建
other
的副本。- __init__(baseUrl)
- 参数:
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
- __init__()
创建一个新的
QNetworkRequestFactory
对象。使用setBaseUrl()
设置请求的有效基本URL。查看也
QNetworkRequestFactory(const QUrl &baseUrl)
setBaseUrl()
返回用于单个请求的基本URL。
基本URL可能包含一个路径组件。该路径用作在生成单个请求提供的路径的“前缀”。
查看也
- bearerToken()#
- 返回类型:
返回已设置的承载令牌。
如果存在,承载令牌会被用来设置请求的
Authorization: Bearer my_token
头部。这是一种常见的认证约定,并提供额外便利。获取承载令牌的方法多种多样。常见的方法包括
OAuth2
和供应商的网站/仪表板。承载令牌通常会随时间改变,例如在更新刷新令牌时。通过始终重置新令牌,可以确保后续请求始终使用最新、有效的令牌。承载令牌的存在不会影响
commonHeaders()
的列表。如果commonHeaders()
也列出了Authorization
头部,它将被覆盖。- clearBearerToken()#
清除承载令牌。
查看也
- clearCommonHeaders()#
清除当前头部。
- clearPassword()#
清除设置给该工厂的密码。
- clearQueryParameters()#
清除查询参数。
- clearUserName()#
清除设置给该工厂的用户名。
- commonHeaders()#
- 返回类型:
返回当前设置的头部信息。
返回一个
QNetworkRequest
实例。返回的请求的URL通过将提供的
path
和query
添加到baseUrl
(它本身可能包含路径组件) 来构成。如果提供的
path
包含查询项,则它们将与query
中的项合并。查看也
createRequest(const QUrlQuery&)
createRequest()
baseUrl()
- createRequest(query)
- 参数:
query –
QUrlQuery
- 返回类型:
返回一个
QNetworkRequest
实例。返回的请求的URL通过将提供的
query
添加到baseUrl
来构成。查看也
createRequest(const QString &, const QUrlQuery &)
createRequest()
baseUrl()
- createRequest(path)
- 参数:
path – str
- 返回类型:
返回一个
QNetworkRequest
实例。返回的请求的URL通过将提供的
path
添加到baseUrl
(它本身可能包含路径组件) 来构成。查看也
createRequest(const QString &, const QUrlQuery &)
createRequest()
baseUrl()
- createRequest()
- 返回类型:
返回一个
QNetworkRequest
实例。返回的请求使用此工厂配置的数据填充。
查看也
createRequest(const QUrlQuery&)
createRequest(const QString&, const QUrlQuery&)
- password()#
- 返回类型:
字符串
返回分配给该工厂的密码。
返回添加到各个请求查询参数中的查询参数。查询参数将添加到使用偶数个
createRequest()
调用的潜在查询参数中。重复查询参数的使用案例取决于服务器,但典型示例包括语言设置
?lang=en
、格式指定?format=json
、API版本指定?version=1.0
和API密钥认证。将用于各个请求的基本URL设置为
url
。查看也
- setBearerToken(token)#
- 参数:
token –
QByteArray
将承载令牌设置为
token
。- setCommonHeaders(headers)#
- 参数:
headers –
QHttpHeaders
设置所有请求共用的
headers
。这些头部将被添加到单个请求的头部中。这是一个便利的机制,用于设置在请求之间重复的头部。
- setPassword(password)#
- 参数:
password – str
将此工厂的密码设置为
password
。当调用
createRequest()
时,密码将在请求 URL 中设置。当服务器指示需要进行身份验证时,QRestAccessManager
/QNetworkAccessManager
将尝试使用这些凭据。设置要添加到单个请求查询参数中的
query
参数。- setSslConfiguration(configuration)#
- 参数:
configuration –
QSslConfiguration
将 SSL 配置设置为
configuration
。- setUserName(userName)#
- 参数:
userName – 字符串
设置此工厂的用户名为
userName
。当调用
createRequest()
时,将在请求 URL 中设置用户名。当服务器指示需要身份验证时,QRestAccessManager
/QNetworkAccessManager
将尝试使用这些凭据。- sslConfiguration()#
- 返回类型:
返回设置到此工厂的 SSL 配置。为每个单独的请求设置 SSL 配置。
- swap(other)#
- 参数:
other –
QNetworkRequestFactory
与
other
交换此工厂。此操作非常快且从不失败。- userName()#
- 返回类型:
字符串
返回设置到此工厂的用户名。