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'はあなたにページの内容へのアクセスを与えます。そうでない場合は教えてください。 –
Qt 5.6を使用している場合は、QNetworkRequest :: FollowRedirectsAttribute(http://doc.qt.io/qt-5/qnetworkrequest.html)も参照してください< – ismailsunni