【发布时间】:2013-12-07 13:13:33
【问题描述】:
我尝试使用 https 网址发送获取请求。回复为空,但没有错误消息。我下载 OpenSSL 并将 libeay32.dll 和 ssleay32.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();
【问题讨论】:
-
get() 触发 /asynchronous/ 操作。在您调用 readAll() 时,还没有数据。连接reply的finished()和error()信号,读取连接finished()的slot中的数据。