【问题标题】:Qt GET request strange responseQt GET 请求奇怪的响应
【发布时间】:2017-09-17 18:31:09
【问题描述】:

我正在编写一个程序来登录游戏并从帐户中获取一些信息。 在使用用户名和密码发出 post 请求后,我在同一位置发出 get 请求以下载所需的 html 源代码。 但是,做qDebug()<<QString(reply->readAll()); 打印 "\u001F?\b" ,而不是页面的整个源代码。

get 回复的状态码为 200,error() 函数返回 NetworkError(NoError)。 对于 post 和 get 请求,我使用从开发人员选项中的 chrome 网络选项卡中获取的标头信息以及从以前的响应标头中获取的 cookie。

我在登录发布请求之后执行获取请求,因为这似乎在实际网页中发生,如开发人员选项中所示。

【问题讨论】:

    标签: c++ qt networking httprequest qtnetwork


    【解决方案1】:

    响应可能会被压缩。解压缩是否会产生预期的结果?

    【讨论】:

    • 这是一个猜测。我将您的字符粘贴到一个文件中,并尝试在 unix 命令行中解压缩它们,但失败了,但我可能缺少一个文件头。以前从未尝试过这样做。
    • 来自此forum.qt.io/topic/4089/…" 主题的评论指出:"快速查看 Qt 源代码,似乎 QNetworkAccessmanager 和朋友会自动解码(解压缩)gzip 压缩数据,如果标题“ content-encoding”设置为“gzip”。”但即使数据会被压缩,我猜我应该得到更长的回复?
    • 将 ByteArray 写入文件并使用 WinRAR 打开后,我得到了预期的输出。你确实是对的:)
    猜你喜欢
    • 2017-09-04
    • 2020-08-13
    • 2020-05-07
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多