关于QNetworkAccessManager 的问题
最近在使用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信号再无响应.