2017-04-20 150 views
0

我正在編寫一個程序登錄到遊戲中從該帳戶獲取一些信息。 使用用戶名和密碼發出發佈請求後,我會在同一位置發出獲取請求,以便下載所需的html源代碼。 但是,在做qDebug()<<QString(reply->readAll()); 打印"\u001F?\b",而不是頁面的整個源代碼。Qt GET請求奇怪的響應

get reply的狀態碼爲200,error()函數返回NetworkError(NoError)。 對於發佈和獲取請求,我使用從開發人員選項中的chrome的網絡選項卡獲得的標題信息與從以前的響應標題中獲取的Cookie相結合。

我在登錄後發送請求後正在做一個獲取請求,因爲這就是在開發人員選項中顯示的實際網頁中似乎發生的情況。

回答

1

響應可能會被壓縮。解壓縮是否會產生預期的結果?

+0

這是一個猜測。我將你的角色粘貼到一個文件中,並嘗試在unix中解壓縮它們的命令行並失敗,但可能會丟失一個文件頭。從來沒有嘗試過這樣做。 – Evan

+0

來自https://forum.qt.io/topic/4089/solved-downloading-gzip-file-but-it-s-no-longer-compressed-when-i-try-to-open-the的評論本地文件/ 5「主題陳述:」從快速瀏覽Qt源代碼看來,如果頭文件「content-encoding」設置爲「gzip」,QNetworkAccessmanager和朋友會自動解碼(解壓縮)壓縮的數據。 「_但即使數據會被壓縮,我也應該得到更長的回覆,我想呢? –

+0

將ByteArray寫入文件並用WinRAR打開之後,我得到了預期的輸出結果。 –