关于QNetworkAccessManager 的问题

zhao0645 2017-04-10 10:30:34
最近在使用QNetworkAccessManager https的功能.
使用过程中发现 QNetworkAccessManager 使用get方法第一次可以正常返回,但是第二次再请求就没有任何返回. 输出显示一个线程已经退出.

有没有人能帮忙看看是什么原因, http就没问题. https就不行.代码如下

void HttpHelper::get(QUrl url,int nType)
{
qDebug()<<url;

QNetworkRequest request = QNetworkRequest(url);
if (nType == 0)
{
QSslConfiguration config;
config.setPeerVerifyMode(QSslSocket::VerifyNone);
config.setProtocol(QSsl::TlsV1_2OrLater);
request.setSslConfiguration(config);
}
if (nType == 1)
{
QSslConfiguration config;
config.setPeerVerifyMode(QSslSocket::VerifyNone);
config.setProtocol(QSsl::TlsV1_2OrLater);
request.setSslConfiguration(config);
}

QNetworkReply *reply = _networkAccessManager->get(request);
connect(reply, SIGNAL(readyRead()), this, SLOT(slotReadyRead()));
connect(reply, SIGNAL(error(QNetworkReply::NetworkError)),this, SLOT(slotError(QNetworkReply::NetworkError)));
connect(reply, SIGNAL(sslErrors(QList<QSslError>)),this, SLOT(slotSslErrors(QList<QSslError>)));
}

问题补充: 两次请求访问的是两个不同的页面, 第一次获得一个uuid, 第二次通过这个uuid请求另外一个页面,第二个页面就是一个图片. 故障就发生在第二次请求这里, get 以后发现QHttp线程退出, 绑定的fininshed信号再无响应.
...全文
229 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

16,216

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧