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·Earth)1 小时前
在Windows上使用Claude Code并集成到PyCharm IDE的完整指南
ide·人工智能·windows·python·pycharm·claude code
我是大猴子2 小时前
迭代器以及Hutool工具包
windows
宁静致远20212 小时前
Qt 利用TCP/IP socket通信 发送与接收结构体(简单通信协议解析)
网络·qt·tcp/ip
蘼子2 小时前
Windows装Docker至D盘/其他盘(最新,最准确,直接装)
windows·docker·容器
musenh3 小时前
python基础
开发语言·windows·python
无籽西瓜a3 小时前
SSL/TLS工作流程以及HTTP与HTTPS详解
http·https·ssl
Boxsc_midnight5 小时前
【MCP服务器的配置和使用】Cherry Studio应用更多更好的MCP工具来完成更多工作
服务器·人工智能·windows
xzjiang_36514 小时前
检查是否安装了MinGW 编译器
开发语言·qt·visual studio code
LateFrames15 小时前
IIS 窗口不显示,但是任务栏状态正常
服务器·windows·microsoft
qq_2978152719 小时前
Docker Compose 部署 RocketMQ 5.4.0 完整指南(Windows Docker Desktop 专属)
windows·docker·rocketmq