Ich möchte die Ergebnisse einer GET-Anfrage sehen. Nach meinem Verständnis sollte dieser Code es tun. Was mache ich falsch?Qt QNetworkReply ist immer leer
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.
}
Der Code wird kompiliert und läuft gut. Es funktioniert einfach nicht.
Danke. Der qDebug() gibt einen Code von 200, also funktioniert es. Wie kann ich jetzt auf den Inhalt der Seite zugreifen? Und was macht QString xml (str)? – Dirk
Schön zu hören, dass es funktioniert! Ich habe den obigen Code von einem anderen meiner Projekte kopiert und vergessen, die Zeile "QString xml (str)" zu entfernen. Danke für die Aufmerksamkeit. Die 'QString str' sollte Ihnen Zugriff auf den Seiteninhalt geben. Lass es mich wissen, wenn es nicht so ist. –
Siehe auch QNetworkRequest :: FollowRedirectsAttribute (http://doc.qt.io/qt-5/qnetworkrequest.html), wenn Sie Qt 5.6
ismailsunni