【QT进阶】Qt http编程之http相关类的简单介绍

发布于:2024-04-22 ⋅ 阅读:(164) ⋅ 点赞:(0)

往期回顾

【QT进阶】Qt Web混合编程之实现ECharts数据交互动态修改-CSDN博客

【QT进阶】Qt http编程之http与https简单介绍-CSDN博客

【QT进阶】Qt http编程之后端API测试工具postman使用介绍-CSDN博客

【QT进阶】Qt http编程之http相关类QNetworkAccessManager与QNetworkRequest的简单介绍

主要是QNetworkAccessManager和QNetworkRequest这两个类,在Qt中,这两个类通常是一起使用,被用于实现网络通信功能,例如从Web服务器获取数据、上传文件等操作。

一、QNetworkAccessManager

1、简单介绍

QNetworkAccessManager是Qt中用于处理网络请求的类,它提供了一种方便的方式来发送网络请求并接收响应。通过QNetworkAccessManager,可以执行诸如发送GET或POST请求、下载文件、处理重定向等操作。它支持多种网络协议,包括 HTTP、HTTPS、FTP 等。

2、需要包含的头文件

Header: #include <QNetworkAccessManager>
qmake: QT += network
Since: Qt 4. 4
Inherits: Q0bject

3、常用方法

QNetworkReply * get (const QNetworkRequest &request)
QNetworkReply * head (const QNetworkRequest &request)
bool                      isStrictTransportSecuri tyEnabled() const
bool                      isStrictTranspor tSecuri tyStoreEnabled() const
QNetworkReply * post (const QNetworkRequest &request, QIODevice *data)
QNetworkReply * post (const QNetworkRequest &request, const QByteArray &data)
QNetworkReply * post (const QNetworkRequest &request, QHttpMultiPart *multiPart)
QNetworkProxy   proxy() const
QNetworkProxyFactory * proxyFactory()  const
QNetworkReply * put (const QNetworkRequest &request, QIODevice *data)
QNetworkReply * put (const QNetworkRequest &request, const QByteArray &data)
QNetworkReply * put (const QNetworkRequest &request, QHt tpMultiPart *multiPart)

(1)QNetworkReply *get(const QNetworkRequest &request):

发送一个GET请求并返回一个QNetworkReply对象,用于处理响应数据。

(2)QNetworkReply *head(const QNetworkRequest &request):

 发送一个HEAD请求并返回一个QNetworkReply对象,用于处理响应数据。

(3)bool  isStrictTransportSecurityEnabled() const:

检查是否启用了严格传输安全性。

(4)bool  isStrictTransportSecurityStoreEnabled() const:

检查是否启用了严格传输安全性存储。

(5)QNetworkReply * post(const QNetworkRequest &request, QIODevice *data):

发送一个POST请求并返回一个QNetworkReply对象,用于处理响应数据。

(6)QNetworkReply * post(const QNetworkRequest &request, const QByteArray &data):

发送一个POST请求并返回一个QNetworkReply对象,用于处理响应数据。

(7)QNetworkReply * post(const QNetworkRequest &request, QHttpMultiPart *multiPart):

发送一个POST请求并返回一个QNetworkReply对象,用于处理响应数据。

(8)QNetworkReply * proxy() const:

返回当前的网络代理设置。

(9)QNetworkReply * proxyFactory() const:

返回当前的网络代理工厂设置。

(10)QNetworkReply * put(const QNetworkRequest &request, QIODevice *data):

发送一个PUT请求并返回一个QNetworkReply对象,用于处理响应数据。

(11)QNetworkReply * put(const QNetworkRequest &request, const QByteArray &data):

发送一个PUT请求并返回一个QNetworkReply对象,用于处理响应数据。

(12)QNetworkReply * put(const QNetworkRequest &request, QHttpMultiPart *multiPart):

发送一个PUT请求并返回一个QNetworkReply对象,用于处理响应数据。

二、QNetworkRequest

1、简单介绍

QNetworkRequest用于表示网络请求的类,它包含了请求的URL、请求头信息、请求方法等。在使用QNetworkAccessManager发送网络请求时,通常会创建一个QNetworkRequest对象来描述该请求的各项信息,然后将该对象传递给QNetworkAccessManager 的相应方法。

2、需要包含的头文件

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

 3、获取请求结果

发送post请求后,链接finished信号,在槽函数里获取请求结果

4、设置请求超时

一个post请求在1ms内是大概可以完成的,如果返回给前端,可能会超过1ms,我把超时时间设为1ms

三、小结

QNetworkAccessManager负责实际发送和接收网络数据,而QNetworkRequest则用于描述和配置具体的网络请求。

所以综合使用QNetworkAccessManager和QNetworkRequest可以方便地实现网络请求和响应的处理,例如发送GET或POST请求,设置请求头信息,处理重定向等功能。


以上就是Qt里http相关类QNetworkAccessManager与QNetworkRequest的简单介绍。

都看到这里了,点个赞再走呗朋友~

加油吧,预祝大家变得更强!


网站公告

今日签到

点亮在社区的每一天
去签到