7
我想查看GET请求的结果。根据我的理解,这段代码应该这样做。我究竟做错了什么?Qt QNetworkReply始终为空
void getDoc::on_pushButton_2_clicked()
{
manager = new QNetworkAccessManager(this);
connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(replyFinished(QNetworkReply*)));
manager->get(QNetworkRequest(QUrl("http://www.google.com")));
}
void getDoc::replyFinished(QNetworkReply *reply)
{
qDebug() << reply->error(); //prints 0. So it worked. Yay!
QByteArray data=reply->readAll();
qDebug() << data; // This is blank/empty
QString str(data);
qDebug() << "Contents of the reply: ";
qDebug() << str; //this is blank or does not print.
}
该代码编译并运行良好。它只是不起作用。
谢谢。 qDebug()给出了一个200的代码,所以它的工作原理。 我现在如何访问页面的内容?那么QString xml(str)能做什么 ? – Dirk
很高兴听到它的作品!我从我的另一个项目中复制了上述代码,并忘记删除'QString xml(str)'行。感谢您的关注。 'QString str'应该让你访问页面内容。让我知道如果它不。 –
另请参阅QNetworkRequest :: FollowRedirectsAttribute(http://doc.qt.io/qt-5/qnetworkrequest.html),如果您使用Qt 5.6 < – ismailsunni