QNetworkReply 没有数据
QNetworkReply has no data
我有一个 QWebView
,我正在通过连接观看网络请求:
QObject::connect(page()->networkAccessManager(),
SIGNAL(finished(QNetworkReply*)),
this,
SLOT(networkLoaded(QNetworkReply*)));
然后:
void browserControl::networkLoaded(QNetworkReply *reply)
{
const QUrl reqUrl = reply->request().url();
qDebug() << "url = " << reqUrl;
QByteArray array = reply->readAll();
QString data = QString::fromUtf8(array.data(), array.size());
int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).value<int>();
qDebug() << "data = " << data;
qDebug() << "http code = " << statusCode;
}
但是数据总是空的,不管statusCode
是200
。 browserControl
class 继承自 QWebView
class.
您没有获得任何数据,因为 QWebPage
在调用您的插槽之前读取了所有数据
我有一个 QWebView
,我正在通过连接观看网络请求:
QObject::connect(page()->networkAccessManager(),
SIGNAL(finished(QNetworkReply*)),
this,
SLOT(networkLoaded(QNetworkReply*)));
然后:
void browserControl::networkLoaded(QNetworkReply *reply)
{
const QUrl reqUrl = reply->request().url();
qDebug() << "url = " << reqUrl;
QByteArray array = reply->readAll();
QString data = QString::fromUtf8(array.data(), array.size());
int statusCode = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).value<int>();
qDebug() << "data = " << data;
qDebug() << "http code = " << statusCode;
}
但是数据总是空的,不管statusCode
是200
。 browserControl
class 继承自 QWebView
class.
您没有获得任何数据,因为 QWebPage
在调用您的插槽之前读取了所有数据