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

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

相关推荐
技术不好的崎鸣同学17 小时前
Windows 命令提示符(CMD)内容补缺&输入输出重定向及管道
运维·windows
vistaup17 小时前
windows hermes agent 使用记录
windows·hermes
夜郎king17 小时前
PostgreSQL 16 搭配 PgVector:Windows 11 完整安装教程
数据库·windows·postgresql
慵懒的猫mi17 小时前
从 Windows 到 deepin:Electron 软件无损移植实战
linux·windows·deepin
码农阿强18 小时前
OpenAI Codex 全平台详细安装与配置教程(Windows/Mac/Linux)
linux·windows·macos·ai
熊孩纸的世界你不懂18 小时前
Qt + SQLite 配置与使用指南
c++·qt
2501_9151063218 小时前
深入解析HTTPS抓包原理、中间人攻击及反抓包技术攻防
数据库·网络协议·ios·小程序·https·uni-app·iphone
思麟呀18 小时前
C++工业级日志项目(四)日志落地
linux·开发语言·c++·windows
我在人间贩卖青春18 小时前
重学Qt——串口编程
qt
玖釉-18 小时前
单词搜索:二维网格中的 DFS 回溯与剪枝优化
c++·windows·算法·深度优先·剪枝