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的源码包

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

相关推荐
fangjianj4 小时前
windows环境反弹shell
linux·windows·web安全
有味道的男人4 小时前
得物详情 API|支持实时价格、成色、鉴别服务数据
windows·python·api
老王的笔记v5 小时前
46期 Windows超级管理器 垃圾清理 预装卸载与系统优化工具箱
windows·系统架构
Littlehero_1216 小时前
QT自定义控件之电气接线图(源码开源)
开发语言·qt
qq762118226 小时前
Ubuntu22.04 Qt 调用shell 脚本启动程序,GLFW 初始化失败
qt
张人玉7 小时前
基于 C# / .NET 8 + Windows Forms + SQLite 的桌面银行业务演示系统——华夏示范银行管理系统
windows·sqlite·c#·.net
蓝悦无人机8 小时前
Qt Design Studio(QDS)4.8.2项目文件结构详解
开发语言·qt·qt creator·qds·项目文件结构·qtc
Mr-Apple9 小时前
系统找不到指定的文件-CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND
linux·windows·ubuntu·wsl
JSUITDLWXL10 小时前
jitsi-windows-local-translation
windows
qq_4017004111 小时前
Qt窗体大小控制从resize到自适应
开发语言·qt