- 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()#
- 返回类型:
字符串
返回设置到此工厂的用户名。