Qt 连接 https :解决OpenSSL问题
1.首先编写以下代码:
qDebug() << manager->supportedSchemes();
(“ftp”, “file”, “qrc”, “http”, “https”, “data”)
如果返回值中没有 https
,则证明没有加载OpenSSL模块;
2.下载相对应的文件
下载地址:OpenSSL下载
对应下载界面如下:
3.安装以及拷贝两个d.ll文件到相应的文件夹下
根据自己使用的QT编译器时32位还是64位,对应下载安装包。将下载的安装包进行安装,安装到第二个选项时,选择安装到指定的/bin目录下。
安装之后,找到安装目录下的两个文件(libcrypto-1_1-x64.dll
和 libssl-1_1-x64.dll
),拷贝到你安装的QT目录下(Qt\Qt5.14.2\mingw73_64\bin)
即可。
4.连接https时需要提前写以下代码
// 发送https请求前准备工作;
QSslConfiguration config;
QSslConfiguration conf = request.sslConfiguration();
conf.setPeerVerifyMode(QSslSocket::VerifyNone);
conf.setProtocol(QSsl::TlsV1SslV3);
request.setSslConfiguration(conf);
request.setUrl(QUrl("https://www.baidu.com"));