gpt4 book ai didi

c++ - Qt 如何向服务器发送 https 请求?

转载 作者:可可西里 更新时间:2023-11-01 16:42:33 25 4
gpt4 key购买 nike

我尝试使用 https url 发送获取请求。回复为空,但没有错误消息。我下载 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 在他的评论中所写,get 函数是异步的,因此在您尝试读取答案时,http 请求甚至可能尚未完成。

要解决这个问题,你需要处理finished信号:

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

并在处理程序中读取结果:

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

关于c++ - Qt 如何向服务器发送 https 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20441756/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com