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

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

相关推荐
hairenjing11234 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word
九鼎科技-Leo6 小时前
了解 .NET 运行时与 .NET 框架:基础概念与相互关系
windows·c#·.net
徒步僧7 小时前
ThingsBoard规则链节点:RPC Call Reply节点详解
qt·microsoft·rpc
可峰科技8 小时前
斗破QT编程入门系列之一:认识Qt:初步使用(四星斗师)
开发语言·qt
我喜欢就喜欢8 小时前
基于qt vs下的视频播放
开发语言·qt·音视频
九鼎科技-Leo8 小时前
什么是 ASP.NET Core?与 ASP.NET MVC 有什么区别?
windows·后端·c#·asp.net·mvc·.net
CP-DD9 小时前
Qt的架构设计
qt
阿_旭9 小时前
基于YOLO11/v10/v8/v5深度学习的维修工具检测识别系统设计与实现【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·qt·ai
黎明晓月12 小时前
Java之字符串分割转换List
java·windows·list
九鼎科技-Leo12 小时前
在 C# 中,ICollection 和 IList 接口有什么区别?
windows·c#·.net