解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed 问题
生活随笔
收集整理的這篇文章主要介紹了
解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed 问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
解決 QT 發送 HTTP 請求時遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initilization failed 問題
這個問題的出現主要是:Qt 組件庫需要 OpenSSL dll 文件
解決辦法:通過安裝 Qt 對應版本的 OpenSSL,獲取需要的 dll 文件。
(1)獲取 Qt 所支持的版本
qDebug()<<"QSslSocket="<<QSslSocket::sslLibraryBuildVersionString();比如:我的 Qt 輸出結果為:QSslSocket= "OpenSSL 1.1.1k 25 Mar 2021"。
(2)判斷當前 Qt 是否支持 OpenSSL
qDebug() << "OpenSSL支持情況:" << QSslSocket::supportsSsl();若輸出:OpenSSL支持情況: false,那說明當前 Qt 不支持 OpenSSL。
(3)如果不支持,進行安裝 OpenSSL
- 訪問 OpenSSL,根據所支持的版本,進行下載并安裝
- 注意:一定要勾選 第二項:The OpenSSL binaries(/bin) directory
- 安裝完成,將 OpenSSL 安裝目錄下的 libcrypto-1_1-x64.dll、libssl-1_1-x64.dll 復制到 QtCreator\bin 目錄下
(4)再次判斷當前 Qt 是否支持 OpenSSL
qDebug() << "OpenSSL支持情況:" << QSslSocket::supportsSsl();若輸出:OpenSSL支持情況: true,那說明問題 解決。
總結
以上是生活随笔為你收集整理的解决 QT 发送 HTTP 请求时遇到 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed 问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通过加载 QSS 文件的方式美化 QT
- 下一篇: 为利用 QT 制作的项目设置图标