QNetworkReply Daten lassen sich nicht anzeigen



  • Hallo zusammen,

    ich verzweifle gerade vor meinem PC.

    Folgender Fall:

    Ich arbeite an einem alten, funktionierenden Programm und habe Änderungen vorgenommen.

    Jetzt wollte ich mir zu Kontrollzwecken das Ergebnis eines http-Requests per qDebug() anzeigen lassen - wie ich es früher schon hunderte male gemacht habe.

    qDebug()<< webpage; bringt jedoch keine Ausgabe.
    Die Daten sind jedoch in der Variablen enthalten (webpage.length ergibt 83.950 - das passt), die Weiterverarbeitung funktioniert einwandfrei.

    Die einzige Änderung zu früher ist der Umstieg auf QT 5.0.2 von 4.8.x.

    Erstaunlicherweise bringt qDebug() daten->read(5000); problemlos die ersten 5000 Zeichen raus.

    Hat jemand eine Idee woran das liegt (oder was ich verbockt habe?)

    Code:

    [code]
    manager = new QNetworkAccessManager(this); //Network Manager initialisieren
    connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(httpresponse(QNetworkReply*)));

    myrequest.setRawHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8");
    myrequest.setUrl(QUrl("http://www.meineSeite.de"));

    manager->get(myrequest);

    void funktionen_allg::httpresponse(QNetworkReply* daten)
    {
    QString webpage = daten->readAll();
    qDebug()<< webpage;
    }

    LG
    Ramona



  • Ramona__ schrieb:

    Ich arbeite an einem alten, funktionierenden Programm und habe Änderungen vorgenommen.

    Du hast es kaputtgemacht!

    Ist console bei der Qt Config dabei?



  • Hi Mechanics,

    ja, "normale" Debugausgaben bekomme ich Werte.

    Ich habe jetzt noch vor lauter Verzweiflung rumprobiert.
    Es sieht ganz so aus als ob die maximale Anzahl Zeichen für einen Aufruf von qDebug() << myVar;
    limitiert wurde.

    5000 Zeichen gehen ohne Probleme, aber 90.000 gehen nicht mehr.

    Leider kommt dann keine Meldung sondern einfach kommentarlos gar nichts.

    Wobei das ganze ja sicherlich "normalerweise" nicht dafür gedacht ist den Quellcode einer ganzen Website wiederzugeben.

    Ramona



  • Davon steht auch nichts in der Doku. Ich wüsste jetzt nicht, warum man die Länge der Ausgabe begrenzen sollte, macht irgendwie keinen Sinn. Vielleicht sind da irgendwelche Sonderzeichen, die stören? Und du kannst die Ausgabe natürlich durchdebuggen, dann siehst du auch, ob die Länge des Strings geprüft wird oder nicht.


Log in to reply