簡體   English   中英

Qt如何向服務器發送https請求?

[英]Qt How can i send https request to server?

我嘗試使用https url發送get請求。 回復為空,但沒有錯誤消息。 我下載OpenSSL並將libeay32.dllssleay32.dll文件復制到C:\\ Qt \\ Qt5.1.1 \\ Tools \\ QtCreator \\ bin文件夾。

碼:

QNetworkAccessManager *manager = new QNetworkAccessManager();
QNetworkRequest request;
QNetworkReply *reply = NULL;

QSslConfiguration config = QSslConfiguration::defaultConfiguration();
config.setProtocol(QSsl::TlsV1_2);
request.setSslConfiguration(config);
request.setUrl(QUrl(url));
request.setHeader(QNetworkRequest::ServerHeader, "application/json");

reply = manager->get(request);

qDebug() << reply->readAll();

正如Frank在他的commet中寫道的那樣,get函數是異步的,所以當你試圖讀取答案時,http請求甚至可能還沒有完成。

要解決此問題,您需要處理finished信號:

connect(manager, SIGNAL(finished(QNetworkReply*)), this,
                 SLOT(replyFinished(QNetworkReply*)));

並在處理程序中讀取結果:

void NetworkHandler::replyFinished(QNetworkReply *reply)
{
  qDebug() << reply->readAll();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM