1、根據(jù)報錯提示,問題出現(xiàn)的原因就是缺少加密的手段,因為HTTPS 協(xié)議在 TCP 和 HTTP?網(wǎng)絡(luò)層之間加入了 SSL/TLS 安全協(xié)議,使得報文能夠加密傳輸。出現(xiàn)問題的原因也就是沒有提供對HTTP加密的工具,從而無法進(jìn)行HTTPS通信。
2、解決辦法:
首先通過調(diào)試語句查看自己QT所使用的的openssl版本。
#include <QSslSocket>
#include #include <QDebug>
qDebug()<< QSslSocket::sslLibraryBuildVersionString();
3、就是根據(jù)自己的版本下載源碼進(jìn)行編譯,下面提供一個博客自己GitHub源碼下載地址,提高下載速度,如果失效就到官網(wǎng)自行下載即可入口地址。
git clone https://github.com/openssl/openssl.git
4、切換對應(yīng)的版本,執(zhí)行配置,進(jìn)行編譯。
git checkout OpenSSL_1_1_1-stable
./config enable-shared
make depend
make -j4
?
文章來源:http://www.zghlxwxcb.cn/news/detail-632768.html
5、最后將編譯生成的動態(tài)庫拷貝到QT的lib目錄新(個人目錄:/opt/Qt5.12.9/5.12.9/gcc_64/lib/),重新啟動QT即可解決問題。文章來源地址http://www.zghlxwxcb.cn/news/detail-632768.html
sudo cp libcrypto.so libcrypto.so.1.1 libssl.so libssl.so.1.1 /opt/Qt5.12.9/5.12.9/gcc_64/lib/
到了這里,關(guān)于解決QT5使用網(wǎng)絡(luò)組件報錯:qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!