QNetworkRequest 类
QNetworkRequest 类保存了对要使用 QNetworkAccessManager 发送的请求。 更多...
头文件 | #include <QNetworkRequest> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Network) target_link_libraries(mytarget PRIVATE Qt6::Network) |
qmake | QT += network |
- 所有成员列表,包括继承成员
- QNetworkRequest 是 网络编程 API 和 隐式共享类 的一部分。
公共类型
枚举 | 属性 { HttpStatusCodeAttribute, HttpReasonPhraseAttribute, RedirectionTargetAttribute, ConnectionEncryptedAttribute, CacheLoadControlAttribute, …, UserMax } |
枚举 | 缓存加载控制 { AlwaysNetwork, PreferNetwork, PreferCache, AlwaysCache } |
枚举 | 已知头 { ContentDispositionHeader, ContentTypeHeader, ContentLengthHeader, LocationHeader, LastModifiedHeader, …, ServerHeader } |
枚举 | 加载控制 { Automatic, Manual } |
枚举 | 优先级 { HighPriority, NormalPriority, LowPriority } |
枚举 | 重定向策略 { ManualRedirectPolicy, NoLessSafeRedirectPolicy, SameOriginRedirectPolicy, UserVerifiedRedirectPolicy } |
枚举 | 传输超时常数 { DefaultTransferTimeoutConstant } |
公共函数
QNetworkRequest() | |
QNetworkRequest(const QUrl &url) | |
QNetworkRequest(const QNetworkRequest &other) | |
~QNetworkRequest() | |
QVariant | attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue = QVariant()) const |
(自 6.2) qint64 | 解压缩安全检查阈值() const |
bool | 是否有原生头(QAnyStringView headerName) const |
QVariant | 头(QNetworkRequest::KnownHeaders header) const |
(自 6.5) QHttp1Configuration | HTTP1 配置() const |
QHttp2Configuration | HTTP2 配置() const |
int | 允许的最大重定向数() const |
QObject * | 原始对象() const |
QString | 对等验证名称() const |
QNetworkRequest::Priority | 优先级() const |
QByteArray | 原生头(QAnyStringView headerName) const |
QList<QByteArray> | 原生头列表() const |
void | setAttribute(QNetworkRequest::Attribute code, const QVariant &value) |
(since 6.2) void | setDecompressedSafetyCheckThreshold(qint64 threshold) |
void | setHeader(QNetworkRequest::KnownHeaders header, const QVariant &value) |
(since 6.5) void | setHttp1Configuration(const QHttp1Configuration &configuration) |
void | setHttp2Configuration(const QHttp2Configuration &configuration) |
void | setMaximumRedirectsAllowed(int maxRedirectsAllowed) |
void | setOriginatingObject(QObject *object) |
void | setPeerVerifyName(const QString &peerName) |
void | setPriority(QNetworkRequest::Priority priority) |
void | setRawHeader(const QByteArray &headerName, const QByteArray &headerValue) |
void | setSslConfiguration(const QSslConfiguration &config) |
void | setTransferTimeout(int timeout) |
(since 6.7) void | setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout) |
void | setUrl(const QUrl &url) |
QSslConfiguration | sslConfiguration() const |
void | swap(QNetworkRequest &other) |
int | transferTimeout() const |
(since 6.7) std::chrono::milliseconds | transferTimeoutAsDuration() const |
QUrl | url() const |
bool | operator!=(const QNetworkRequest &other) const |
QNetworkRequest & | operator=(const QNetworkRequest &other) |
bool | operator==(const QNetworkRequest &other) const |
静态公共成员
const std::chrono::std::chrono::milliseconds | DefaultTransferTimeout |
另请参阅QNetworkReply和QNetworkAccessManager。
成员类型文档
枚举QNetworkRequest::Attribute
QNetworkRequest和QNetworkReply的属性代码。
属性是额外的元数据,用于控制请求的行为,并将更多信息从回复传递回应用程序。属性也是可扩展的,允许自定义实现传递自定义值。
以下表格解释了默认属性代码是什么,相关的QVariant类型,属性缺失的默认值,以及在请求或回复中是否使用。
常数 | 值 | 描述 |
---|---|---|
QNetworkRequest::HttpStatusCodeAttribute | 0 | 仅回复,类型:QMetaType::Int (无默认值) 表示从HTTP服务器接收到的HTTP状态码(如200、304、404、401等)。如果连接不是基于HTTP的,则此属性将不存在。 |
QNetworkRequest::HttpReasonPhraseAttribute | 1 | 仅回复,类型:QMetaType::QByteArray(无默认值)表示从HTTP服务器接收到的HTTP原因短语(例如"Ok","找到","未找到","访问被拒绝"等)。这是状态码的易于阅读的表示(见上方)。如果没有基于HTTP的连接,则此属性将不存在。 |
QNetworkRequest::RedirectionTargetAttribute | 2 | 仅回复,类型:QMetaType::QUrl(无默认值)如果存在,则表示服务器正在将请求重定向到不同的URL。默认情况下,网络访问API会遵循重定向,除非使用了QNetworkRequest::ManualRedirectPolicy。此外,如果使用QNetworkRequest::UserVerifiedRedirectPolicy,则如果未遵循重定向,则此属性将设置。返回的URL可能是相对的。使用QUrl::resolved()将其创建为绝对URL。 |
QNetworkRequest::ConnectionEncryptedAttribute | 3 | 仅回复,类型:QMetaType::Bool(默认值:false)表示数据是否通过加密(安全)连接获取。 |
QNetworkRequest::CacheLoadControlAttribute | 4 | 仅请求,类型:QMetaType::Int(默认值:QNetworkRequest::PreferNetwork)控制如何访问缓存。可能的值是QNetworkRequest::CacheLoadControl中的那些。请注意,默认的QNetworkAccessManager实现不支持缓存。但是,某些后端可能使用此属性来修改其请求(例如,用于缓存代理)。 |
QNetworkRequest::CacheSaveControlAttribute | 5 | 仅请求,类型:QMetaType::Bool(默认值:true)控制获取的数据是否应该保存到缓存以供将来使用。如果值为false,则获取的数据将不会自动缓存。如果为true,则数据可以缓存,前提是它是可缓存的(可缓存的取决于所使用的协议)。 |
QNetworkRequest::SourceIsFromCacheAttribute | 6 | 仅回复,类型:QMetaType::Bool(默认值:false)表示数据是否从缓存获取。 |
QNetworkRequest::DoNotBufferUploadDataAttribute | 7 | 仅请求,类型:QMetaType::Bool(默认值:false)表示QNetworkAccessManager代码是否允许缓冲上传数据,例如在执行HTTP POST时。当使用此标志与顺序上传数据一起使用时,必须设置ContentLengthHeader头。 |
QNetworkRequest::HttpPipeliningAllowedAttribute | 8 | 仅请求,类型:QMetaType::Bool(默认值:false)表示QNetworkAccessManager代码是否允许使用HTTP流水线与该请求。 |
QNetworkRequest::HttpPipeliningWasUsedAttribute | 9 | 仅回复,类型:QMetaType::Bool表示是否使用HTTP流水线接收此回复。 |
QNetworkRequest::CustomVerbAttribute | 10 | 仅请求,类型:QMetaType::QByteArray用于保存要发送的自定义HTTP动词的值(用于使用除GET,POST,PUT和DELETE之外的其他动词)。此动词在调用QNetworkAccessManager::sendCustomRequest()时设置。 |
QNetworkRequest::CookieLoadControlAttribute | 11 | 仅请求,类型:QMetaType::Int(默认:QNetworkRequest::Automatic)指示是否在请求中发送'Cookie'头部。当Qt WebKit在创建跨源XMLHttpRequest且未由创建请求的JavaScript明确设置为true的withCredentials时,此属性设置为false。更多信息请参阅此处。(此值从4.7版引入。) |
QNetworkRequest::CookieSaveControlAttribute | 13 | 仅请求,类型:QMetaType::Int(默认:QNetworkRequest::Automatic)指示是否将请求响应中接收到的'Cookie'头部保存到服务器。当Qt WebKit在创建跨源XMLHttpRequest且未由创建请求的JavaScript明确设置为true的withCredentials时,此属性设置为false。更多信息请参阅此处。(此值从4.7版引入。) |
QNetworkRequest::AuthenticationReuseAttribute | 12 | 仅请求,类型:QMetaType::Int(默认:QNetworkRequest::Automatic)指示是否在请求中使用可用的缓存的认证凭据。如果此设置为QNetworkRequest::Manual且认证机制为'Basic'或'Digest',Qt不会向请求的URL发送带有任何缓存的证据的'Authorization' HTTP头部。当Qt WebKit在创建跨源XMLHttpRequest且未由创建请求的JavaScript明确设置为true的withCredentials时,此属性设置为QNetworkRequest::Manual。更多信息请参阅此处。(此值从4.7版引入。) |
QNetworkRequest::BackgroundRequestAttribute | 17 | 类型:QMetaType::Bool(默认:false)指示这是一个后台传输,而不是用户发起的传输。根据平台的不同,后台传输可能会受到不同的策略影响。 |
QNetworkRequest::Http2AllowedAttribute | 19 | 仅请求,类型:QMetaType::Bool(默认:true)指示QNetworkAccessManager代码是否允许使用此请求的HTTP/2。如果设置了Http2CleartextAllowedAttribute,这适用于SSL请求或明文HTTP/2。 |
QNetworkRequest::Http2WasUsedAttribute | 20 | 仅回复,类型:QMetaType::Bool(默认:false)指示在接收此回复时是否使用了HTTP/2。(此值从5.9版引入。) |
QNetworkRequest::EmitAllUploadProgressSignalsAttribute | 18 | 仅请求,类型:QMetaType::Bool(默认:false)指示是否应该发出所有上传信号。默认情况下,上传进度信号仅在100毫秒间隔内发出。(此值从5.5版引入。) |
QNetworkRequest::OriginalContentLengthAttribute | 21 | 仅回复,类型:QMetaType::Int 保存 shrunk content-length属性,在无效化并从头部移除之前,当数据被压缩且请求被标记为自动解压缩。 (此值从5.9版引入。) |
QNetworkRequest::RedirectPolicyAttribute | 22 | 仅请求,类型:QMetaType::Int,应该是QNetworkRequest::RedirectPolicy值之一(默认:NoLessSafeRedirectPolicy)。 (此值从5.9版引入。) |
QNetworkRequest::Http2DirectAttribute | 23 | 仅请求,类型: QMetaType::Bool(默认:false)。如果设置,则该属性将强制 QNetworkAccessManager 使用 HTTP/2 协议,而不进行初始 HTTP/2 协议协商。使用此属性意味着已知特定服务器支持 HTTP/2。该属性与 SSL 或 'cleartext' HTTP/2 一起使用,当 Http2CleartextAllowedAttribute 被设置时。如果服务器不支持 HTTP/2,当指定 HTTP/2 直接时,QNetworkAccessManager 将放弃,而不会尝试回退到 HTTP/1.1。如果 Http2AllowedAttribute 和 Http2DirectAttribute 都设置了,则 Http2DirectAttribute 优先。(此值在 5.11 版本中引入。) |
QNetworkRequest::AutoDeleteReplyOnFinishAttribute | 25 | 仅请求,类型: QMetaType::Bool(默认:false)。如果设置,则该属性将使 QNetworkAccessManager 在发出 "finished" 后删除 QNetworkReply。(此值在 5.14 版本中引入。) |
QNetworkRequest::ConnectionCacheExpiryTimeoutSecondsAttribute | 26 | 仅请求,类型: QMetaType::Int 用于设置在处理完最后待处理的请求后,应关闭到服务器的 TCP 连接(HTTP1 和 HTTP2)。(此值在 6.3 版本中引入。) |
QNetworkRequest::Http2CleartextAllowedAttribute | 27 | 仅请求,类型: QMetaType::Bool(默认:false)。如果设置,此属性将告诉 QNetworkAccessManager 尝试在纯文本(也称为 h2c)上升级到 HTTP/2。在 Qt 7 之前,可以通过设置 QT_NETWORK_H2C_ALLOWED 环境变量来覆盖此属性的默认值。如果未设置 Http2AllowedAttribute,则忽略此属性。(此值在 6.3 版本中引入。) |
QNetworkRequest::UseCredentialsAttribute | 28 | 仅请求,类型: QMetaType::Bool(默认:false)。表示底层 XMLHttpRequest 跨站点 Access-Control 请求是否应使用凭证。对同源请求没有影响。这仅影响 WebAssembly 平台。(此值在 6.5 版本中引入。) |
QNetworkRequest::User | 1000 | 特殊类型。可以通过类型从 User 到 UserMax 变化的 QVariants 传递额外信息。Network Access 的默认实现将忽略此范围内的任何请求属性,并且在回复中不会生成此范围内的任何属性。该范围保留给 QNetworkAccessManager 的扩展。 |
QNetworkRequest::UserMax | 32767 | 特殊类型。见 User。 |
枚举 QNetworkRequest::CacheLoadControl
控制 QNetworkAccessManager 的缓存机制。
常数 | 值 | 描述 |
---|---|---|
QNetworkRequest::AlwaysNetwork | 0 | 始终从网络加载,不检查缓存是否有有效的条目(类似于浏览器中的“重新加载”功能);另外,强制中间缓存重新验证。 |
QNetworkRequest::PreferNetwork | 1 | 默认值;如果缓存条目比网络条目旧,则从网络加载。这永远不会从缓存返回过时数据,但将重新验证已变得过时的资源。 |
QNetworkRequest::PreferCache | 2 | 如果可用,则从缓存中加载,否则从网络加载。请注意,这可能从缓存返回可能是过时(但未过期)的项目。 |
QNetworkRequest::AlwaysCache | 3 | 仅从缓存加载,如果项目未缓存,则指示错误(即离线模式) |
枚举 QNetworkRequest::KnownHeaders
QNetworkRequest 解析的已知标题类型列表。每个已知标题也以其实际 HTTP 名称的原始形式表示。
常数 | 值 | 描述 |
---|---|---|
QNetworkRequest::ContentDispositionHeader | 6 | 对应于 HTTP Content-Disposition 标头,包含表示处置类型(例如,附件)的字符串和参数(例如,文件名)。 |
QNetworkRequest::ContentTypeHeader | 0 | 对应于HTTP Content-Type头,包含表示媒体(MIME)类型以及任何辅助数据(例如,字符集)的字符串。 |
QNetworkRequest::ContentLengthHeader | 1 | 对应于HTTP Content-Length头,包含传输数据的字节数。 |
QNetworkRequest::LocationHeader | 2 | 对应于HTTP Location头,包含表示数据实际位置的URL,包括重定向情况下的目标URL。 |
QNetworkRequest::LastModifiedHeader | 3 | 对应于HTTP Last-Modified头,包含表示内容最后修改日期的QDateTime。 |
QNetworkRequest::IfModifiedSinceHeader | 9 | 对应于HTTP If-Modified-Since头,包含一个QDateTime。通常添加到QNetworkRequest中。如果资源自那时起未发生变化,则服务器应发送304(未修改)响应。 |
QNetworkRequest::ETagHeader | 10 | 对应于HTTP ETag头,包含表示内容最后修改状态的QString。 |
QNetworkRequest::IfMatchHeader | 11 | 对应于HTTP If-Match头,包含一个QStringList。通常添加到QNetworkRequest中。如果资源不匹配,服务器将发送412(预处理失败)响应。 |
QNetworkRequest::IfNoneMatchHeader | 12 | 对应于HTTP If-None-Match头,包含一个QStringList。通常添加到QNetworkRequest中。如果资源匹配,服务器将发送304(未修改)响应。 |
QNetworkRequest::CookieHeader | 4 | 对应于HTTP Cookie头,包含表示要发送回服务器的QList<QNetworkCookie>。 |
QNetworkRequest::SetCookieHeader | 5 | 对应于HTTP Set-Cookie头,包含表示由服务器发送并本地存储的QList<QNetworkCookie>。 |
QNetworkRequest::UserAgentHeader | 7 | HTTP客户端发送的User-Agent头。 |
QNetworkRequest::ServerHeader | 8 | HTTP客户端接收的Server头。 |
另请参阅header(),setHeader(),rawHeader()和setRawHeader()。
enum QNetworkRequest::LoadControl
指示请求加载机制是否已被手动覆盖,例如由Qt WebKit。
常数 | 值 | 描述 |
---|---|---|
QNetworkRequest::Automatic | 0 | 默认值:表示默认行为。 |
QNetworkRequest::Manual | 1 | 表示行为已被手动覆盖。 |
enum QNetworkRequest::Priority
此枚举列出可能的网络请求优先级。
常数 | 值 | 描述 |
---|---|---|
QNetworkRequest::HighPriority | 1 | 高优先级 |
QNetworkRequest::NormalPriority | 3 | 正常优先级 |
QNetworkRequest::LowPriority | 5 | 低优先级 |
enum QNetworkRequest::RedirectPolicy
指示Network Access API是否应该自动遵循HTTP重定向响应。
常数 | 值 | 描述 |
---|---|---|
QNetworkRequest::ManualRedirectPolicy | 0 | 不遵循任何重定向。 |
QNetworkRequest::NoLessSafeRedirectPolicy | 1 | 默认值:仅允许"http"→"http","http"→"https"或"https"→"https"的重定向。 |
QNetworkRequest::SameOriginRedirectPolicy | 2 | 要求相同的协议、主机和端口。注意,http://example.com和http://example.com:80将在这项策略中失败(隐式/显式端口被视为不匹配)。 |
QNetworkRequest::UserVerifiedRedirectPolicy | 3 | 客户端通过处理redirected()信号来决定是否跟随每个重定向,对QNetworkReply对象发出redirectAllowed()信号以允许重定向或终止操作以拒绝重定向。这可以用于询问用户是否接受重定向,或者基于某些特定应用的配置来决定。 |
注意:当Qt处理重定向时,出于兼容性和历史原因,如果服务器返回301或302响应,Qt将使用GET方法发出redirected请求,而不考虑原始方法,除非它是HEAD。
枚举 QNetworkRequest::TransferTimeoutConstant
一个可以用于启用具有预设值的传输超时常量。
常数 | 值 | 描述 |
---|---|---|
QNetworkRequest::DefaultTransferTimeoutConstant | 30000 | 传输超时的毫秒数。如果调用setTimeout()而没有提供参数,则会使用此值。 |
成员函数文档
QNetworkRequest::QNetworkRequest()
构造一个没有要请求的URL的QNetworkRequest对象。使用setUrl()设置一个。
[显式]
QNetworkRequest::QNetworkRequest(const QUrl &url)
使用url作为要请求的URL来构造QNetworkRequest对象。
QNetworkRequest::QNetworkRequest(const QNetworkRequest &other)
创建other的副本。
[noexcept]
QNetworkRequest::~QNetworkRequest()
销毁QNetworkRequest对象。
QVariant QNetworkRequest::attribute(QNetworkRequest::Attribute code, const QVariant &defaultValue = QVariant()) const
返回与代码code关联的属性。如果未设置属性,则返回defaultValue。
注意:此函数不应用QNetworkRequest::Attribute中列出的默认值。
另请参阅:setAttribute()和QNetworkRequest::Attribute。
[since 6.2]
qint64 QNetworkRequest::decompressedSafetyCheckThreshold() const
返回归档炸弹检查的阈值。
如果回复的解压缩大小小于此值,Qt将简单地解压缩它,而不进行进一步检查。
此函数在Qt 6.2中引入。
另请参阅:setDecompressedSafetyCheckThreshold。
bool QNetworkRequest::hasRawHeader(QAnyStringView headerName) const
如果此网络请求中存在原始头部headerName,则返回true
。
注意:在Qt 6.7之前的版本中,此函数仅接受QByteArray。
另请参阅:rawHeader()和setRawHeader()。
QVariant QNetworkRequest::header(QNetworkRequest::KnownHeaders header) const
如果该请求中存在已知的网络头 header,则返回其值。如果不存在,返回 QVariant()
(即一个无效的变体)。
另请参阅KnownHeaders、rawHeader() 和 setHeader。
[自 6.5 版起]
QHttp1Configuration QNetworkRequest::http1Configuration() const
返回用于该请求底层 HTTP/1 连接的当前参数。
此函数是在 Qt 6.5 中引入的。
QHttp2Configuration QNetworkRequest::http2Configuration() const
返回用于此请求及其底层 HTTP/2 连接的当前参数。这可能是以前由应用程序设置的配置或默认配置。
QNetworkAccessManager 使用的默认值是
- 连接级别流控制的窗口大小为 2147483647 节点
- 流级别流控制的窗口大小为 214748364 节点
- 最大帧大小为 16384
默认情况下,禁用服务器推送,启用 Huffman 压缩和字符串索引。
int QNetworkRequest::maximumRedirectsAllowed() const
返回允许跟随此请求的最大重定向次数。
另请参阅setMaximumRedirectsAllowed。
QObject *QNetworkRequest::originatingObject() const
返回发起此网络请求的对象的引用;如果没有设置或对象已被销毁,则返回 nullptr
。
另请参阅setOriginatingObject。
QString QNetworkRequest::peerVerifyName() const
返回为证书验证设置的主机名,如由 setPeerVerifyName 设置。默认情况下返回空字符串。
另请参阅setPeerVerifyName。
QNetworkRequest::Priority QNetworkRequest::priority() const
返回此请求的优先级。
另请参阅setPriority。
QByteArray QNetworkRequest::rawHeader(QAnyStringView headerName) const
返回头 headerName 的原始形式。如果不存在此类头,则返回空的 QByteArray,这可能无法与没有内容但存在的内容 区分(请使用 hasRawHeader() 查找该头是否存在)。
可以与 setRawHeader() 或与 setHeader() 一起设置原始头。
注意:在Qt 6.7之前的版本中,此函数仅接受QByteArray。
另请参阅header() 和 setRawHeader()。
QList<QByteArray> QNetworkRequest::rawHeaderList() const
返回当前网络请求中设置的原始头部列表。列表按头部设置的顺序排列。
另请参阅hasRawHeader() 和 rawHeader()。
void QNetworkRequest::setAttribute(QNetworkRequest::Attribute code, const QVariant &value)
将与代码 code 关联的属性设置为值 value。如果属性已经设置,则丢弃之前的值。特别地,如果 value 是一个无效的 QVariant,则该属性将被取消设置。
另请参阅attribute() 和 QNetworkRequest::Attribute。
[since 6.2]
void QNetworkRequest::setDecompressedSafetyCheckThreshold(qint64 threshold)
设置存档炸弹检查的 threshold。
某些支持的压缩算法可以在非常小的压缩文件中编码出极端巨大的解压缩文件。这只有在解压缩内容极其单调的情况下才可能,这对于以诚信传输的文件来说是很少见的:使用如此不可思议的压缩比的文件通常是缓冲区溢出攻击或拒绝服务(通过消耗过多内存)攻击的有效载荷。因此,最好将解压缩后体积巨大的文件,尤其是从小型压缩形式解压缩的文件,作为可疑恶意软件拒绝。
如果回复的解压缩大小超过此阈值(默认为 10 MiB,即 10 * 1024 * 1024),Qt 将检查压缩比率:如果比率不合理大(GZip 和 Deflate 为 40:1,Brotli 和 ZStandard 为 100:1),则回复被视为错误。将阈值设置为 -1
将禁用此检查。
此函数在Qt 6.2中引入。
另请参阅decompressedSafetyCheckThreshold。
void QNetworkRequest::setqHeaDer(QNetworkRequest::KnownHeaders header, const QVariant &value)
设置已知头部 header 的值 value,覆盖任何之前设置的头部。此操作还设置相应的原始 HTTP 头部。
另请参阅KnownHeaders、setRawHeader 和 header。
[since 6.5]
void QNetworkRequest::setHttp1Configuration(const QHttp1Configuration &configuration)
从 configuration 中设置请求的 HTTP/1 参数。
此函数是在 Qt 6.5 中引入的。
另请参阅http1Configuration、QNetworkAccessManager 和 QHttp1Configuration。
void QNetworkRequest::setHttp2Configuration(const QHttp2Configuration &configuration)
从配置设置请求的HTTP/2参数。
注意:请求之前必须设置配置。
注意:HTTP/2在单个HTTP/2连接中多路复用几个流。这意味着QNetworkAccessManager将使用同一主机发送的一系列请求中的第一个请求中发现的配置。
另请参阅http2Configuration、QNetworkAccessManager和QHttp2Configuration。
void QNetworkRequest::setMaximumRedirectsAllowed(int maxRedirectsAllowed)
将此请求允许的最大重定向次数设为maxRedirectsAllowed。
void QNetworkRequest::setOriginatingObject(QObject *object)
允许设置引用object来初始化请求。
例如,Qt WebKit会将导致请求的QWebFrame设置为起始对象。
另请参阅originatingObject。
void QNetworkRequest::setPeerVerifyName(const QString &peerName)
将peerName作为证书验证的主机名,而不是用于TCP连接的名称。
另请参阅peerVerifyName。
void QNetworkRequest::setPriority(QNetworkRequest::Priority priority)
设置该请求的优先级为priority。
注意:此priority仅作为网络访问管理员的提示。它可以使用也可以不使用。目前,它用于HTTP以决定哪个请求应首先发送到服务器。
另请参阅priority。
void QNetworkRequest::setRawHeader(const QByteArray &headerName, const QByteArray &headerValue)
将头headerName的值设置为headerValue。如果headerName对应于已知的头(请参阅QNetworkRequest::KnownHeaders),将解析原始格式并设置相应的"熟"头。
例如
request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));
还将设置已知的头LastModifiedHeader为解析出的日期的QDateTime对象。
注意:设置相同的头两次将覆盖之前的设置。为了实现相同名称的多个HTTP头的行为,您应该将两个值连接起来,用逗号(",")分隔,并设置单个原始头。
另请参阅KnownHeaders、setHeader、hasRawHeader和rawHeader。
void QNetworkRequest::setSslConfiguration(const QSslConfiguration &config)
将此网络请求的SSL配置设置为config。适用的设置包括私钥、本地证书、TLS协议(例如TLS 1.3)、CA证书以及SSL后端允许使用的加密方式。
另请参阅sslConfiguration() 和 QSslConfiguration::defaultConfiguration。
void QNetworkRequest::setTransferTimeout(int timeout)
将传输超时设置为timeout毫秒。
另请参阅setTransferTimeout(std::chrono::milliseconds), transferTimeout() 和 transferTimeoutAsDuration。
[since 6.7]
void QNetworkRequest::setTransferTimeout(std::chrono::milliseconds duration = DefaultTransferTimeout)
设置超时duration,用于丢弃无数据交换的传输。
如果超时时间届满而没有传输任何字节,则传输将被撤销。零表示不设置计时器。如果没有提供参数,超时为QNetworkRequest::DefaultTransferTimeout。如果没有调用此函数,则超时被禁用且值为零。
此函数自Qt 6.7引入。
另请参阅transferTimeoutAsDuration。
void QNetworkRequest::setUrl(const QUrl &url)
设置此网络请求所引用的URL为url。
另请参阅url。
QSslConfiguration QNetworkRequest::sslConfiguration() const
返回此网络请求的SSL配置。默认情况下,此配置与QSslConfiguration::defaultConfiguration相同。
另请参阅setSslConfiguration和QSslConfiguration::defaultConfiguration。
[noexcept]
void QNetworkRequest::swap(QNetworkRequest &other)
与other交换此网络请求。此函数非常快且从不失败。
int QNetworkRequest::transferTimeout() const
返回用于传输的超时时间,单位为毫秒。
另请参阅setTransferTimeout。
[since 6.7]
std::chrono::milliseconds QNetworkRequest::transferTimeoutAsDuration() const
返回在无数据交换的情况下传输被撤销的超时持续时间。
默认时长为零,表示不使用超时。
此函数自Qt 6.7引入。
另请参阅setTransferTimeout(std::chrono::milliseconds)。
QUrl QNetworkRequest::url() const
返回此网络请求所引用的URL。
另请参阅setUrl。
bool QNetworkRequest::operator!=(const QNetworkRequest &other) const
如果此对象不等于other,则返回false
。
另请参阅 operator==().
QNetworkRequest &QNetworkRequest::operator=(const QNetworkRequest &other)
创建other的副本
bool QNetworkRequest::operator==(const QNetworkRequest &other) const
如果此对象与other相同(即它们具有相同的URL、相同的头部信息和相同的元数据设置),则返回true
。
另请参阅 operator!=().
成员变量文档
const std::chrono::std::chrono::milliseconds QNetworkRequest::DefaultTransferTimeout
使用QNetworkRequest::TransferTimeoutConstant毫秒的传输超时。如果没有参数调用setTransferTimeout(),则使用此超时。
© 2024 The Qt Company Ltd. 本文档贡献包括各自的版权拥有者的版权。本文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款许可的。Qt和相关标志为The Qt Company Ltd.在芬兰和其他国家的商标。所有其他商标均为各自所有者的财产。