0、说明

QNetworkRequest类代表被QNetworkAccessManager发送的请求。

QNetworkReuqest是网络访问API的一部分,在其内部保留了在网络上发送一个request的必要信息。它包含了一个URL和一些辅助信息,这些信息可以用于确定和修改一个request。

1、模块和加载项

Header: #include <QNetworkRequest>
qmake: QT += network
Since: Qt 4.4

2、构造

QNetworkRequest(QNetworkRequest other) 得到另一个Request的副本。
QNetworkRequest(QUrl url) 用要请求的URL构造一个Request。
QNetworkRequest() 构造一个空URL,其内容用各种setxxx()方法设置。

经过测试,QNetworkRequest(QUrl url)容易出现异常,还是先构造一个空的Request,再用setUrl()设置URL为好。

3、静态字段

类型

字段

说明

enum Attribute

QNetworkRequest与QNetworkReply的属性码。

用于控制request的行为,从reply中传送更多发往应用的信息。

CacheLoadControl Cache载入控制
KnownHeaders Header
LoadControl 载入控制
Priority 优先级
RedirectPolicy 重定向策略
TransferTimeoutConstant  传输超时时间

4、实例方法

返回值类型

方法

说明

QNetworkRequest &

bool

bool

operator=(QNetworkRequest other)

operator!=(QNetworkRequest other)

operator==(QNetworkRequest other)

赋值

判断是否相等

QVariant attribute(QNetworkRequest::Attribute code, QVariant defaultValue = QVariant()) 返回与code关联的attribute,如果该attribute未设置,则返回默认attribute。
bool hasRawHeader(QByteArray headerName) 如果原始首部headerName在Request中存在,则返回true
QVariant header(QNetworkRequest::KnownHeaders header) 返回首部对应的QVariant,如果不存在则返回QVariant()
QHttp2Configuration http2Configuration() 返回当前QNetworkAccessManger用于该Request和HTTP/2连接的参数。
int maximumRedirectsAllowed() 最大重定向次数
QObject * originatingObject() 返回启动了该Request的对象,不存在时返回nullptr
QString peerVerifyName() 返回证书验证的host name
QNetworkRequest::Priority priority() 返回请求优先级
QByteArray rawHeader(QByteArray headerName) 返回该Request的原始首部对应的QByteArray。不存在时,hasRowHeader()返回false,并且该函数返回空QByteArray
QList<QByteArray> rawHeaderList() 返回该Request的所有原始首部的List。
void setAttribute(QNetworkRequest::Attribute code, QVariant value) 设置参数
setHeader(QNetworkRequest::KnownHeaders header, QVariant value) 设置Header 
setHttp2Configuration(QHttp2Configuration configuration) 设置HTTP/2参数
setMaximumRedirectsAllowed(int maxRedirectsAllowed) 设置最大重定向次数
setOriginatingObject(QObject *object) 设置启动该Request的对象
setPeerVerifyName(QString peerName) 设置证书验证的host name
setPriority(QNetworkRequest::Priority priority) 设置请求优先级
setRawHeader(QByteArray headerName, QByteArray headerValue)

设置header及其对应的value,例子

request.setRawHeader(QByteArray("Last-Modified"), QByteArray("Sun, 06 Nov 1994 08:49:37 GMT"));
setSslConfiguration(QSslConfiguration config) 设置SSL配置
setTransferTimeout(int timeout = DefaultTransferTimeoutConstant) 设置传输超时时间
setUrl(QUrl url) 设置该Reuqest的URL
QSslConfiguration sslConfiguration() 获取该Request的SSL配置
void swap(QNetworkRequest &other) 交换两个Request的值
int transferTimeout() 获取传输超时时间
QUrl url() 获取Request的URL

5、常用

1)构造一个空Request,为它指定URL:

QNetworkRequest request;
request.setUrl(QUrl("Url_String"));

最新文章

  1. [转] &quot;self = [super init]&quot;的解释与潜藏bug
  2. linux dynamic debug 官方教程
  3. Python之路【第十六篇】:Django【基础篇】
  4. [转]SharePoint开发中可能用到的各种Context(上下文)
  5. WPF和WINFORM的互操作
  6. 动态规划 计数型DP:dobra
  7. MVC 文件上传
  8. Confluence搭建
  9. 201521123087 《java程序设计》 第七周学习总结
  10. 利用Owin解决CORS报错问题
  11. Xilinx Zynq ZC-702 开发(01)—— 概览
  12. VS开发入门一:VS常用快捷键大全,工欲善其事必先利其器 只看标红的吧
  13. spark基本概念及入门
  14. Unity3d和Android之间互相调用
  15. sqlite 3基本使用方法
  16. HDU - 3982:Harry Potter and J.K.Rowling(半平面交+圆与多边形求交)(WA ing)
  17. scikit-FEM-例2-用Morley元在方形区域上解板弯曲问题
  18. 阿里云安装配置Ghost
  19. jQuery上传文件
  20. 阿里云对象存储 OSS,不使用主账号,使用子账号来访问存储内容

热门文章

  1. MySQL基本使用(开机自启动-环境变量-忘记密码-统一编码)
  2. linux磁盘管理(全面解析)
  3. 手把手教你用Strace诊断问题
  4. Python3.7.3 + pycharm安装
  5. 【第十二期】腾讯后台实习初试、复试、HR面经 (许愿OC)
  6. 对于fetch的理解
  7. java.lang.IllegalArgumentException: Failed to register servlet with name &#39;dispatcher&#39;.Check if there is another servlet registered under the same name
  8. Java Calendar类的使用总结【转】
  9. Ajax与PHP进行交互操作
  10. hr虚线