2017-04-20 5 views
0

Ich schreibe ein Programm, um sich in ein Spiel einzuloggen und ein paar Informationen aus dem Konto zu bekommen. Nachdem ich eine Post-Anfrage mit Benutzername und Passwort gemacht habe, mache ich eine Get-Anfrage am selben Ort, um die benötigte HTML-Quelle herunterzuladen. Allerdings qDebug()<<QString(reply->readAll()); Drucken "\u001F?\b", anstelle des gesamten Quellcodes der Seite.Qt GET Anfrage seltsame Antwort

Die get-Antwort hat den Statuscode 200, und die error() -Funktion gibt NetworkError (NoError) zurück. Für die Post- und Get-Anfragen verwende ich Kopfzeileninformationen, die auf der Registerkarte "Netzwerk" von Chrome in den Entwickleroptionen erhalten wurden, kombiniert mit Cookies, die aus früheren Antwortheadern stammen.

Ich mache eine Get-Anfrage nach der Login-Post-Anfrage, weil das scheint, auf der tatsächlichen Webseite zu geschehen, wie in den Entwickler-Optionen angezeigt.

Antwort

1

Die Antwort könnte gezippt werden. Führt das Entpacken zu dem erwarteten Ergebnis?

+0

Dies ist eine Vermutung. Ich habe deine Charaktere in eine Datei eingefügt und versucht, sie in Unix-Befehlszeile zu entpacken, und es ist fehlgeschlagen, aber es kann einen Dateikopf geben, den ich vermisse. Habe das noch nie zuvor versucht. – Evan

+0

Ein Kommentar von diesem https://forum.qt.io/topic/4089/solved-downloading-gzip-file-but-it-s-no-loner-compressed-when-i-try-to-open-the- -local-file/5 "topic states: _" Aus einem kurzen Blick auf die Qt-Quellen scheint es, dass QNetworkAccessmanager und Freunde automatisch entzippte Daten dekomprimieren (entkomprimiert), wenn der Header "content-encoding" auf "gzip" gesetzt ist. "_ Aber selbst wenn die Daten komprimiert würden, sollte ich eine viel längere Antwort bekommen, denke ich? –

+0

Nachdem ich das ByteArray in eine Datei geschrieben und es mit WinRAR geöffnet habe, habe ich die erwartete Ausgabe bekommen. Du hattest wirklich recht :) –