問題:
使用https方式進(jìn)行post 和get請求時,有時候會出現(xiàn)SSL handshake failed的問題,其實是調(diào)用Qt QNetworkAccessManager出現(xiàn)的問題。
其實SSL握手是建立HTTPS連接過程的第一步。為了驗證和建立連接,用戶的瀏覽器和網(wǎng)站的服務(wù)器必須經(jīng)過一系列檢查(握手),從而建立HTTPS連接參數(shù)。
分析:?
QNetworkRequest::setSslConfiguration(const QSslConfiguration &configuration);
這個函數(shù)呢,可以設(shè)置SSL的配置,包括OpenSSL以及其它的SSL,函數(shù)默認(rèn)設(shè)置是對服務(wù)器的安全證書進(jìn)行驗證的。
由于的網(wǎng)站證書有問題,既網(wǎng)頁訪問出現(xiàn)下列提示
?從而無法導(dǎo)入證書,這個時候呢,無法通過驗證。這個時候,默認(rèn)的驗證模式無法通過,從而服務(wù)端無法獲得到客戶端傳入的數(shù)據(jù)。文章來源:http://www.zghlxwxcb.cn/news/detail-661135.html
解決:
在執(zhí)行post與get方法之前進(jìn)行以下配置文章來源地址http://www.zghlxwxcb.cn/news/detail-661135.html
方案1
QSslConfiguration config = QSslConfiguration::defaultConfiguration();
config.setProtocol(QSsl::TlsV1);
config.setPeerVerifyMod
到了這里,關(guān)于QT SSL handshake failed問題分析與解決 QT基礎(chǔ)入門【網(wǎng)絡(luò)編程】openssl的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!