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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

QT 网络编程之https

發布時間:2023/12/9 c/c++ 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 QT 网络编程之https 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

HTTP

超文本傳輸協議,是一個基于請求與響應,無狀態的,應用層的協議,常基于TCP/IP協議傳輸數據,互聯網上應用最為廣泛的一種網絡協議,所有的WWW文件都必須遵守這個標準。設計HTTP的初衷是為了提供一種發布和接收HTML頁面的方法。

HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer)的介紹:

以安全為目標的 HTTP 通道,在HTTP的基礎上通過傳輸加密和身份認證保證了傳輸過程的安全性。HTTPS 在HTTP 的基礎下加入SSL
層,HTTPS 的安全基礎是 SSL,因此加密的詳細內容就需要 SSL。

下面直接上代碼:

// 頭文件 QNetworkAccessManager* m_AccessManager; QNetworkRequest m_Request;public slots:// 用來接收返回結果(異步的)void replyFinishedRes(QNetworkReply *reply); // cpp m_AccessManager = new QNetworkAccessManager(this); qDebug() << QSslSocket::supportsSsl(); qDebug() << m_AccessManager->supportedSchemes(); // 查看本地支持的協議 connect(m_AccessManager, SIGNAL(finished(QNetworkReply *)), this, SLOT(replyFinishedRes(QNetworkReply *)));

如果本地不支持,不要著急,在QT目錄下或者電腦其他地方搜索 libeay32.dll和ssleay32.dll將這兩個dll拷貝到Qt12.0\5.12.0\mingw73_64\bin目錄下就可以了

如果出錯可以在replyFinishedRes(QNetworkReply *)槽函數中進行檢查,以及是哪個網址返回的數據

代碼:

if(reply->error() != QNetworkReply::NoError) {// 錯誤查看QNetworkReply::NetworkError error = reply->error();QString strError = "";strError += "Https URL: ";strError += reply->url().toString();switch (error){case QNetworkReply::ConnectionRefusedError:strError += QString("錯誤原因: 遠程服務器拒絕連接; 錯誤代碼: ");qDebug() << strError << reply->error();break;case QNetworkReply::HostNotFoundError:strError += QString("錯誤原因: 遠程主機名未找到(無效主機名); 錯誤代碼: ");qDebug() << strError << reply->error();break;case QNetworkReply::TooManyRedirectsError:strError += QString("錯誤原因: 請求超過了設定的最大重定向次數; 錯誤代碼: ");qDebug() << strError << reply->error();break;default:strError += QString("錯誤原因: 未知錯誤; 錯誤代碼: ");qDebug() << strError << reply->error();break;}return; }QByteArray data = reply->readAll(); // 查看是哪個網址返回的數據 if(m_strHttps_URL == reply->url().toString()) {getjson(data); }reply->deleteLater();

總結

以上是生活随笔為你收集整理的QT 网络编程之https的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。