Windows上让Qt支持https请求

一.前言

Qt默认其实支持https的,但需要openssl的支持。所以有时候你代码中写了支持https的请求连接,发现程序可以运行,但到了https请求时会报错,如下:

这就是没有openssl的支持,导致QSslSocket无法进行https请求。若需要支持https,则需要openssl的支撑,并且要注意,Qt不同版本会指定对应的openssl版本库,比方我用的Qt5.15.10他要求用的openssl版本是1.1.1,你就不能用其他版本,不然基本就是失败报错。

如何查看Qt对应openssl的版本呢?

在程序可以执行的任何地方加上这两句

cpp 复制代码
include <QSslSocket>
//查看需要的openssl版本
QString strVersion = "QSslSocket="<<QSslSocket::sslLibraryBuildVersionString();
 //查看是否支持
bool bExist = (QSslSocket::supportsSsl() == true ? "true" : "false");

二.windows环境

1.在windows环境中需要安装openssl,并将openssl释放的"libcrypto"和"libssl"的库打包进你的程序依赖目录中,比如我用的openssl1.1.1g版本,那就将该版本openssl安装后,取出其安装目录下的"libcrypto-1_1.dll"和"libssl-1_1.dll"放置在我们自己的程序依赖目录下即可。
openssl1.1.1g版本的windows安装包

如果需要源码包,准备使用Cmake自行编译,点击此处下载openssl的源码包

将上图中安装目录下的这两个库取出来放在你的程序目录

相关推荐
方博士AI机器人27 分钟前
GNU Octave 基础教程(1):Ubuntu 22.04 与 Windows 11 安装 Octave 全流程
windows·ubuntu·octave
T风呤1 小时前
QT历史版本,5.15.2使用清华源半小时安装速成
开发语言·qt
千千道1 小时前
QT 中使用 QSettings 读写 ini 配置文件
开发语言·qt
baidu_195527872 小时前
qt集成openssl
运维·qt
k***a4293 小时前
Python 中设置布尔值参数为 True 来启用验证
开发语言·windows·python
love530love6 小时前
【笔记】解决部署国产AI Agent 开源项目 MiniMax-M1时 Hugging Face 模型下载缓存占满 C 盘问题:更改缓存位置全流程
开发语言·人工智能·windows·笔记·python·缓存·uv
2501_916007478 小时前
定位接口偶发超时的实战分析:iOS抓包流程的完整复现
websocket·网络协议·tcp/ip·http·网络安全·https·udp
2501_916013748 小时前
iOS应用启动时间优化:通过多工具协作提升iOS App性能表现
websocket·网络协议·tcp/ip·http·网络安全·https·udp
chilavert3188 小时前
技术演进中的开发沉思-9:window编程系列-内核对象线程同步(下)
windows