qt配置https请求

ops/2024/10/30 12:21:15/

qthttps_0">qt配置https请求

老套路,一图胜千言,在ui界面请求搜狗,看看能返回什么内容

https://i-blog.csdnimg.cn/direct/9dde44164441448f9b0f2e625d164158.gif" alt="在这里插入图片描述" />

平台信息

- 开发机操作系统 【win11】
- qt版本 【5.13.2 】
- 编译器 【Mingw32(qt自带安装) 】
- 目标平台【win32】,win7及win7以上x86/64 windows平台可运行

UI创建

创建项目,拖控件等等基础操作就不演示了,这个专栏的目标受众是解决项目中的问题,初学者补齐基础再看也不迟

https://i-blog.csdnimg.cn/direct/d08d70aa912f4952a1304d86c0eb0e94.png" alt="在这里插入图片描述" />

openssl包拷贝

这一步应该难倒最多人的的步骤,网上众说纷纭,有用的凤毛麟角,何谓有用,按照帖子的步骤操作完,请求一个https地址能返回内容,而不是直接走到加密验证那一步就被打回来了。

正题开始,如果你安装了opensource qt那么这个包就在你的机器上,不用去openssl官网下载,编译。下面贴地址:

https://i-blog.csdnimg.cn/direct/bed2ea3196264ef3ab5370b3c484606f.png" alt="在这里插入图片描述" />

将上述图片位置的两个dll复制到下图的地址,为什么复制到下图的地址呢,因为下图就是我们再qt creator中点那个三角形运行项目时候的地址,那如使用windeployqt打包了项目,同样,这两个包也是需要拷贝过去的。

https://i-blog.csdnimg.cn/direct/fe1363df6a744e4f9b741c1622680da2.png" alt="在这里插入图片描述" />

上述的地址是我的安装位置,在你的电脑上需要更换到你的地址,相信能看这篇帖子你一定知道这些

httpsclick_23">编写https请求代码,此处仅演示click槽函数下的代码,因为我会将所有代码都写在这个函数下,此处不考虑编程规范,只考虑怎样让阅读者更快理解怎么解决问题,以应用到自己的项目当中。

贴代码

void MainWindow::on_btn_request_clicked()
{QByteArray sendDate= "asdf";QNetworkAccessManager *manager=new QNetworkAccessManager();QNetworkRequest request;request.setUrl(ui->txt_url->text());
//    QSslConfiguration sslConfig = request.sslConfiguration();
//    sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
//    sslConfig.setProtocol(QSsl::AnyProtocol);
//    request.setSslConfiguration(sslConfig);//发送异步post请求QNetworkReply *reply =  manager->post(request, sendDate);qDebug() << manager->supportedSchemes();// 只连接当前reply对象的finished信号connect(reply, &QNetworkReply::finished, this, [this, reply]() {QByteArray responseData = reply->readAll();                             // 获取服务器返回的内容int httpStatusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt();qDebug()<<"http返回内容长度:"<<QString::number(responseData.length());ui->txt_respone->setPlainText(responseData);reply->deleteLater();                                                   // 释放 reply 对象});}

可以看到,请求是没问题的,只是没有有效传参,返回了错误页,但绝是来自搜狗的。

https://i-blog.csdnimg.cn/direct/86a06ac5673f4e64a6d4cc0d934e72c0.png" alt="在这里插入图片描述" />

此处在演示一下如果删掉刚才拷贝到运行目录下的包,会是什么结果,可以看到直接就报错了加密未通过。

https://i-blog.csdnimg.cn/direct/0fe2ffb8d6a74581ae55c8b3f53be5ac.png" alt="在这里插入图片描述" />


http://www.ppmy.cn/ops/129579.html

相关文章

论文略读:AnyGPT: Unified Multimodal LLM with Discrete Sequence Modeling

ACL 2024 在单一框架内整个多个模态 采用离散表示来统一处理文本、各种模态、图像和音乐

SpringBoot3使用MyBatisPlus时遇到的问题 Invalid bean definition with name

问题&#xff1a; 运行springboot3项目报错&#xff1a;Invalid bean definition with name ‘XXXMapper’ defined in file… 原因&#xff1a;springboot3支持的mabits-plus依赖不同导致的 解决办法&#xff1a; 修改为&#xff1a; <dependency><groupId>com…

10.24.2024刷华为OD C题型(四) -- 对象list按照多个属性排序

文章目录 最长连续子序列AI面板识别语法知识记录 最长连续子序列 https://www.nowcoder.com/discuss/592408743019589632 if __name__ "__main__":# 获取用户输入# numbers int(input().split(,))# str_arr input().split(,)arr [int(num) for num in input(…

C#判断点是否在矩形内

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家&#xff01;人工智能学习网站 前言&#xff1a; 大家好&#xff0c;我是上位机马工&#xff0c;硕士毕业4年年入40万&#xff0c;目前在一家自动化公司担任…

【报错】FastGPT本地部署通义千问,报错undefined 当前分组 default 下对于模型 qwen:7b 无可用渠道 【搭建企业级知识库问答系统】

fastgpt报错undefined 当前分组 default 下对于模型 qwen:7b 无可用渠道 安装视频教程【搭建企业级知识库问答系统&#xff0c;本地、免费、私有化、离线、零成本】 https://www.bilibili.com/video/BV1ALxLeuE7W/ 解决方法 只留下自己需要的模型即可&#xff0c;多刷新几遍

人工智能与数据安全:Facebook如何应对隐私挑战

在数字时代&#xff0c;数据隐私和安全成为了用户和企业关注的核心问题。作为全球最大的社交媒体平台之一&#xff0c;Facebook面临着日益严峻的隐私挑战。近年来&#xff0c;频繁发生的数据泄露事件和对用户隐私的质疑&#xff0c;使得Facebook在保护用户数据方面倍感压力。为…

TensorFlow面试整理-分布式

在深度学习的训练过程中,随着数据量和模型的复杂性增加,单个 GPU 或 CPU 无法满足高效训练的需求。TensorFlow 提供了强大的 分布式训练 功能,通过并行处理加速训练过程。分布式训练可以在多个 GPU、多个机器甚至是 TPU 上运行。以下是分布式训练的关键概念及其使用方法。 1…

#PCIE#基础知识分解之 CC/SRNS/SRIS 时钟架构

参考资料为PCIe Base Spec和CEM Spec。 1.1 时钟架构分类 PCIe参考时钟的三种架构&#xff1a; Common Refclk (Shared Refclk) ArchitectureData Clocked Rx ArchitectureSeparate Refclk Architecture 下面&#xff0c;我们来简单地聊一聊前面说到的三种参考时钟架构&…