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.
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
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? –
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 :) –