Qt网络编程之QNetworkRequest

【Qt网络编程之QNetworkRequest】Qt Network 模块中提供了一些高级别的类,例如:QNetworkRequest、QNetworkReply 和 QNetworkAccessManager,使用常见的协议执行网络操作。
详细描述
QNetworkRequest类包含一个和 QNetworkAccessManager一起发送的请求。
QNetworkRequest是Network Access API的一部分,并且这个类包含着在网络上发送请求的必要信息。
它包含了一个URL和一些可以用来修改请求的附加信息。


成员类型文档
enum QNetworkRequest::Attribute
QNetworkRequest和QNetworkReply的属性编码。
属性是额外的meta数据可以用来控制请求的行为并且可以通过应答传递更多的信息到应用程序中。
属性都是可扩展的,允许自定义实现来传递自定义的值。
下面的表格说明默认属性值,都是和QVariant类型相关,指明属性的默认值是否丢失,是否在请求
和应答中使用。


enum QNetworkRequest::CacheLoadControl
控制了QNetworkAccessManager的缓冲机制。

enum QNetworkRequest::KnownHeaders
列出了QNetworkRequest解析的已知的首部。每一个已知的首部都用完整的HTTP名字以原始类型的形式呈现。


enum QNetworkRequest::LoadControl
表明请求的缓存机制的一个方面是否被人为的覆盖了,例如被QtWebKit。

enum QNetworkRequest::Priority
这个表枚举了可能的网络请求的优先级。
Qt网络编程之QNetworkRequest
文章图片

GET - 从指定的服务器中获取数据
POST - 提交数据给指定的服务器处理

GET方法:使用GET方法时,查询字符串(键值对)被附加在URL地址后面一起发送到服务器:
QUrl u(m_url);
QNetworkRequest request(u);
QNetworkReply *reply = m_accessManager.get(request);
m_reply = reply;
connect(reply, SIGNAL(finished()), this, SLOT(onReplyFinished()));
connect(reply, SIGNAL(downloadProgress(qint64,qint64)), this, SLOT(updateDataReadProgress(qint64,qint64)));

    推荐阅读