2014-09-25 21 views
0

我打開一個帶有C++/qt鏈接的* .json數據。當我在Firefox中打開這個URL時,它會返回一個下載這些數據的問題。但目前我的Code dosnt工作,每一次都會導致網絡錯誤。我會用我的程序讀取這個json數據,並將其放入QTableView.Must我使用QNetworkAccessManager或這是錯誤的方式嗎?QNetworkAccessManager打開一個帶有url的json數據

QNetworkAccessManager *manager = new QNetworkAccessManager(this); 
    QObject::connect(manager, SIGNAL(finished(QNetworkReply*)), 
      this, SLOT(serviceRequestFinished(QNetworkReply*))); 
    manager->get(QNetworkRequest(QUrl("http://google.de"))); 

    } 
void Tester::serviceRequestFinished(QNetworkReply* reply) 
{ 
    // At the end of that slot, we won't need it anymore 
    reply->deleteLater(); 

    if(reply->error() == QNetworkReply::NoError) { 
     QByteArray data = reply->readAll(); 
     QString Sdata = data; 
     qDebug(data); 
     qDebug("no Error"); 


    } else { 
     cout<<"Error at Reply"<<endl; 
     QByteArray data = reply->readAll(); 
     qDebug(data); 
    } 
} 
+0

有什麼錯誤信息?嘗試獲取它與errorString()方法調用 – 2014-09-25 08:53:42

+0

它去其他,所以它寫道:「錯誤答覆」 沒有這個gDebug,它說什麼都沒有..多數民衆贊成在問題 – Erdbeerchen 2014-09-25 08:56:57

+0

我的意思是,錯誤,你應該打印出來通過從您的QNetworkReply實例調用QNetworkReply :: errorString()來獲取錯誤消息。然後將錯誤消息文本粘貼到此處。 – 2014-09-25 09:03:28

回答

0

嘗試使用網址www前綴:

manager->get(QNetworkRequest(QUrl("http://www.google.de"))); 
+0

以上刪除空格謝謝您,但我的原始網址是來自ais,並且沒有www – Erdbeerchen 2014-09-25 10:57:04

+0

我不能發佈它,因爲包含我的帳戶名稱,但包含此是鏈接:data.aishub.net/ws.php?username=exampleName&format=1&output=json&compress=0&latmin=50&latmax=58&lonmin=5&lonmax=10 這是我使用網址時的錯誤: 協議「」未知 – Erdbeerchen 2014-09-25 10:59:38

+0

@ Erdbeerchen,這也是你的問題嗎? http://stackoverflow.com/q/25989358/2266412 – 2014-09-25 11:19:51

相關問題