QT支援https網路請求

2021-10-06 10:47:01 字數 2095 閱讀 8822

qt自帶的老版本openssl1.0.x在今年(2019)就要結束lts支援了,那麼從qt5.12.4開始,qt將啟用1.1.x,新版本帶來的tls1.3,以前經典的名字叫libeay32.dll和ssleay32.dll,現在改名變成了libcrypto-1_1.dll 和libssl-1_1.dll

根據自己工程對應版本32位或者64位,安裝後拷貝libcrypto-1_1.dll 和libssl-1_1.dll,64位叫libcrypto-1_1-x64.dll和libssl-1_1-x64.dll到自己的exe目錄下,openssl安裝選項有乙個是否拷貝到系統目錄的選項,勾上會自動拷貝到了c盤的系統目錄下面。程式會預設從系統目錄自動載入。如需移除openssl,需要把系統目錄下的也手動刪除掉,64位下安裝32位的openssl系統目錄c:\windows\syswow64,安裝的64位的系統目錄為c:\windows\system32。

2. 查詢是否支援

檢視當前qt版本是否支援openssl,qt編譯使用的openssl版本。當前使用的openssl版本。只要編譯版本是1.1.1的。安裝的也使用1.1.1即可。後面的d、g版本號可不完全一致。使用版本比編譯版本高即可。

bool bsupp = qsslsocket::

supportsssl()

; qstring buildversion = qsslsocket::

ssllibrarybuildversionstring()

; qstring version = qsslsocket::

ssllibraryversionstring()

;qdebug()

<< bsupp << buildversion << version << endl;

不支援時列印如下

false 「openssl 1.1.1d 10 sep 2019」 「」

支援openssl時列印如下

true 「openssl 1.1.1d 10 sep 2019」 「openssl 1.1.1g 21 apr 2020」

檢視當前網路請求支援協議

qnetworkaccessmanager *accessmanager =

newqnetworkaccessmanager

(this);

qdebug()

<< accessmanager-

>

supportedschemes()

;

不支援https時顯示結果如下

支援https時顯示結果如下

同時會報錯顯示如下:

qt.network.ssl: qsslsocket::connecttohostencrypted: tls initialization failed

found error … code: 99

tls initialization failed

3. 使用方法

使用https請求時,**需要如下配置進行:

qnetworkrequest request;

// 傳送https請求前準備工作;

qsslconfiguration config;

qsslconfiguration conf = request.

sslconfiguration()

; conf.

setpeerverifymode

(qsslsocket::verifynone)

; conf.

setprotocol

(qssl::tlsv1sslv3)

; request.

setsslconfiguration

(conf)

;

request.

seturl

(qurl

(""))

;

請求介面支援HTTPS

nsstring cerpath nsbundle mainbundle pathforresource 證書名稱 oftype cer nsdata cerdata nsdata datawithcontentsoffile cerpath nsset cerset nsset alloc ini...

支援https請求以及https請求的抓包

ios9推出的時候,蘋果希望大家使用https協議,來提高資料傳輸之間的安全性。下面我就從最簡單的 介紹,如何在工程中設定,來支援https的請求。一 證書準備篇 1.證書轉換 在伺服器人員,給你傳送的crt證書後,進到證書路徑,執行下面語句 openssl x509 in 你的證書.crt out...

jmeter支援傳送https請求

示例 一 jmeter如何匯入ssl證書 步驟1 開啟chrome瀏覽器訪問位址,點選安全鎖,匯出證書,並複製檔案至指定檔案目錄。步驟2 開啟cmd視窗,輸入指令。生成秘鑰 步驟3 開啟jemter選項 ssl管理器,匯入證書。ok。二 方法1 jmeter工具傳送介面https請求型別,實現登入。...