日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

QT笔记——QT支持Https

發(fā)布時間:2024/1/1 c/c++ 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT笔记——QT支持Https 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

我們想要實現(xiàn)支持https的請求,在一開始,不做任何操作下,是不支持https的請求的
我的環(huán)境:vs2019 + qt 5.12.2
其他版本可能不清楚

什么是https:是由SSL + HTTP協(xié)議構成的超文本加密協(xié)議,比http協(xié)議更加的安全

QT += network

#include <QSslSocket> #include <QNetworkAccessManager> QNetworkAccessManager manager; bool bSupp = QSslSocket::supportsSsl(); QString buildVersion = QSslSocket::sslLibraryBuildVersionString(); QString version = QSslSocket::sslLibraryVersionString(); qDebug() << bSupp << buildVersion << version << endl;qDebug() << QStringLiteral("支持發(fā)送數(shù)據(jù):") << manager.supportedSchemes();

一:首先,我們要獲取對應的QT 版本 的OpenSSL


下面是編譯源碼的過程,我們可以 自己下載對應的dll:OpenSSL下載庫
然后直接應用 庫的,別人的應用:應用openssl
二:我們需要下載對應 版本 的OpenSSL
OpenSSL舊地址下載


三:下載配置編譯環(huán)境及工具ActivePerl **
ActivePerl 官網(wǎng)
因為我在官方下載,沒下載成功,就隨便找了一個網(wǎng)址下載的,百度搜
ActivePerl 5.28 安裝**

不是官網(wǎng)鏈接,但是配置成功了,默認安裝即可

四:檢查我們下載的 ActivePerl

五:編譯我們的OpenSSL庫

我們需要打開我們的VS2019 命令行 開發(fā)者平臺:
鼠標右鍵 :管理員身份運行 該命令行工具

進入我們的前面下載的openssl庫, 配置要Perl編譯的位數(shù):

cd openssl庫路徑 perl Configure VC-WIN64A no-asm --perfix="D:\\thirdLibrary\\openssl-1.0.2p"

release版本:VC-WIN64A代表是64位release 庫;VC-WIN32 代表是32位release庫
debug版本:debug VC-WIN64A ; debug VC-WIN32A
no-asm:編譯過程中不使用匯編代碼加快編譯過程。
–prefix=路徑指定生成路徑


執(zhí)行編譯:

ms\do_win64a
生成makefile,64位:ms\do_win64a.bat ;32為:ms\do_ms.bat

nmake -f ms\ntdll.mak

執(zhí)行完:

nmake -f ms\ntdll.mak install

測試:

nmake -f ms\ntdll.mak test

編譯動態(tài)庫:
nmake -f ms\ntdll.mak
編譯靜態(tài)庫:
nmake -f ms\nt.mak
測試動態(tài)庫:
nmake -f ms\ntdll.mak test
測試靜態(tài)庫:
nmake -f ms\nt.mak test
安裝動態(tài)庫:
nmake -f ms\ntdll.mak install
安裝靜態(tài)庫:
nmake -f ms\nt.mak install
清除上次動態(tài)庫的編譯,以便重新編譯:
nmake -f ms\ntdll.mak clean
清除上次靜態(tài)庫的編譯,以便重新編譯:
nmake -f ms\nt.mak clean

–cross-compile-prefix 交叉編譯參數(shù)
–prefix=DIR 安裝目錄設置,make install指令會安裝到指定目錄。
–debug 使用調(diào)試符號和零優(yōu)化級別構建OpenSSL
–release 在不調(diào)試符號的情況下構建OpenSSL。這是默認設置
–libdir=DIR 安裝目錄樹頂部(請參閱–prefix選項)下將安裝庫的目錄的名稱。

默認情況下,這是“l(fā)ib”。

請注意,僅在Windows上,.lib文件將存儲在此位置。 dll文件將始終安裝到“bin”目錄。

–openssldir=DIR OpenSSL配置文件的目錄,以及默認證書和密鑰存儲。

默認設置為:

Unix:/usr/local/ssl

Windows:C:\Program Files\Common Files\SSL或C:\Program Files(x86)\Common
Files\SSLOpen
VMS:SYS$COMMON:[OPENSSL-COMMON]

no-tests 不要構建測試程序或運行任何測試 no-shared 不要創(chuàng)建共享庫,只創(chuàng)建靜態(tài)庫。

將 D:\QT5.12wj\Tools\mingw730_64\opt\bin
中的libeay32.dll 和 ssleay32.dll 復制到
D:\QT5.12wj\5.12.2\msvc2017_64\bin中

這是配置好后顯示的 可支持發(fā)送數(shù)據(jù):

7:測試我們的https
測試https網(wǎng)址

打印如下:

其中遇到過這樣的問題:(一臺電腦沒有出現(xiàn),另外一臺電腦出現(xiàn),上面同樣的操作,不知道為什么會有,具體原因未知)
這個ICLS Client:百度查找 是設備驅(qū)動文件



解決方案:將libeay32.dll 放入到.exe文件中 發(fā)現(xiàn)解決問題了 ,可以不用加ssleay32.dll

然后就支持https了

參考博客:
感謝以下博客
鏈接一
鏈接二
鏈接三
鏈接四
鏈接五

總結

以上是生活随笔為你收集整理的QT笔记——QT支持Https的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。