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

往期回顾

【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的简单介绍。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/636860.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何设置unbuntu时间及同步时间

文章目录 时区时间同步与服务 时间同步的重要性Ubuntu系统中设置时间和同步时间方法一&#xff1a;通过图形界面设置查看当前时间设置时间和时区设置时区&#xff08;假设设置为UTC&#xff09;&#xff1a;设置本地时间&#xff08;例如&#xff0c;设置时间为2024年4月21日 1…

HTML不常用的文本标签

1.标签如下&#xff1a; 代码及相关内容 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>不常用的文…

OpenCV杂记(1):绘制OSD(cv::getTextSize, cv::putText)

1. 简述 我们使用OpenCV时&#xff0c;有时会在图像的某个位置绘制OSD信息&#xff0c;如绘制一些字符串作为指示信息。 本文将简要介绍在图像&#xff08;cv::Mat&#xff09;上绘制固定的字符串信息。 2. 使用的API &#xff08;1&#xff09;cv::getTextSize() CV_EXPORT…

网址注册流程

从选择域名到完成注册 在互联网时代&#xff0c;拥有一个独特的网址是建立个人品牌或企业形象的重要一环。然而&#xff0c;对于许多人来说&#xff0c;网址注册流程可能显得有些复杂。本文将详细介绍网址注册的全过程&#xff0c;帮助您顺利完成注册&#xff0c;拥有自己的专属…

【python】Paste Mask

学习来自【OpenCv】利用roi 掩模 将一张图片添加到另一张上 任务描述&#xff1a;提取图片A的 mask 区域&#xff0c;并粘贴到图片B上 文章目录 1 代码实现2 结果展示3 涉及到的库cv2.bitwise_notcv2.bitwise_andcv2.add 附录——获取 mask 的边界框 1 代码实现 A 图 A 图的 …

【GPTs分享】GPTs分享之Image Recreate | img2img​

简介 该GPT是一个专门用于图像编辑、重建和合并的工具。它通过详细的自动图像描述和生成&#xff0c;帮助用户从源图像中重现或修改图像。此工具设计用于为视障用户提供图像内容的详细描述&#xff0c;并生成全新的图像&#xff0c;以满足特定的视觉需求。 主要功能 \1. 图像…

深入OceanBase内部机制:资源隔离实现的方式总结

码到三十五 &#xff1a; 个人主页 心中有诗画&#xff0c;指尖舞代码&#xff0c;目光览世界&#xff0c;步履越千山&#xff0c;人间尽值得 ! 目录 1. 为何HTAP需要资源隔离2. OceanBase的资源隔离机制概述租户间资源隔离租户内资源隔离物理资源隔离大查询请求的隔离优先级…

如何批量给Word文件增加前缀序号?“汇帮批量重命名”帮助你批量给word文件增加前缀序号。

批量给Word文件增加前缀序号的过程&#xff0c;对于经常处理大量文档的人来说&#xff0c;是一项既繁琐又必要的任务。首先&#xff0c;我们需要明确为什么要给Word文件增加前缀序号。在很多情况下&#xff0c;当我们需要按照一定的顺序对多个文档进行管理和归档时&#xff0c;…

书生·浦语大模型实战营Day04OpenXLab 部署

书生浦语大模型实战营Day04OpenXLab 部署 如何在 OpenXLab 部署一个 InternLM2-7B chat 的应用。 OpenXLab浦源平台介绍 OpenXLab 浦源平台以开源为核心&#xff0c;旨在构建开源开放的人工智能生态&#xff0c;促进学术成果的开放共享。OpenXLab面向 AI 研究员和开发者提供…

OpenStack 常见模块详解

目录 一、OpenStack 架构 二、控制台 Dashboard 三、身份认证服务 Keystone 1&#xff09;用户&#xff08;user&#xff09; 2&#xff09;项目&#xff08;project&#xff09; 3&#xff09;角色&#xff08;role&#xff09; 4&#xff09;服务&#xff08;serv…

iptables命令简介

正文共&#xff1a;3456 字 22 图&#xff0c;预估阅读时间&#xff1a;3 分钟 iptables/ip6tables命令&#xff0c;用于在Linux内核中设置、维护和检查IPv4和IPv6数据包过滤规则的表&#xff0c;从而实现IPv4/IPv6数据包过滤和NAT的管理工具。它可以定义多个不同的表&#xff…

骑砍2霸主MOD开发(6)-使用C#-Harmony修改本体游戏逻辑

一.C#-Harmony反射及动态注入 利用C#运行时环境的反射原理,实现对已加载DLL,未加载DLL中代码替换和前置后置插桩. C#依赖库下载地址:霸王•吕布 / CSharpHarmonyLib GitCodehttps://gitcode.net/qq_35829452/csharpharmonylib 根据实际运行.Net环境选择对应版本的0Harmony.dll…