0
我試圖得到一個網頁的HTML源線後空的,我的代碼如下:的Qt - QNetworkReply是製作要求
void Helper::start()
{
QString url = "http://www.youtube-mp3.org/get?video_id=PnL4Z0ebcBc";
QNetworkAccessManager *manager = new QNetworkAccessManager();
QNetworkRequest request;
request.setUrl(QUrl(url));
request.setRawHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/6.0;)");
QNetworkReply *reply = manager->get(request);
QObject::connect(reply, SIGNAL(finished()), this, SLOT(onFinished()));
QObject::connect(reply, SIGNAL(error(QNetworkReply::NetworkError)), this, SLOT(onError(QNetworkReply::NetworkError)));
}
void Helper::onFinished()
{
QIODevice * content = static_cast<QIODevice*>(QObject::sender());
QString html = content->readAll();
content->deleteLater();
qDebug() << html; // It's empty!!
}
void Helper::onError(QNetworkReply::NetworkError err)
{
qDebug() << "Starting On Error ....";
QIODevice * content = static_cast<QIODevice*>(QObject::sender());
QString error = content->errorString();
content->deleteLater();
qDebug() << error;
}
的html
字符串是空的,我想不出爲什麼!
當我將URL更改爲Google的時,它可以工作,出了什麼問題? (因爲我沒有得到任何類型的錯誤)
使用[QNetworkReply :: error()](http://qt-project.org/doc/qt-5/qnetworkreply.html#error)檢查錯誤。 – 2014-10-10 22:32:59
@ OlegShparber檢查,沒有錯誤!奇怪的。 – 2014-10-11 03:14:54
@MrEricSir我的代碼可以與其他網站一起工作,但不能像上面描述的那樣工作 – 2014-10-11 03:15:52