【问题标题】:Read chunked through socket通过套接字读取分块
【发布时间】:2011-06-30 21:53:09
【问题描述】:

对于我的应用程序,我通过套接字发送 http-get 请求。然后网站发送响应,但它使用的是分块编码。有没有办法下载完整的数据?也许我使用了错误的方式下载数据?

BufferedReader rsp = new BufferedReader(new InputStreamReader(Client.getInputStream()));

我已阅读有关“ChunkedInputStream”的信息,但无法使用。

【问题讨论】:

    标签: java http chunked-encoding


    【解决方案1】:

    使用 HttpURLConnection 而不是 Socket。一切都为您服务。

    【讨论】:

      【解决方案2】:

      分块编码规范为here

      换句话说,读取直到第一个 "\r\n" 并使用基数 16 解析数字,然后读取直到您读取了那么多字节和另一个 "\r\n"(它不是数据的一部分)并重复直到数字等于 0

      【讨论】:

        【解决方案3】:
            html.replaceAll("\r\n[0-9A-Fa-f ]+\r\n", "");
        

        【讨论】:

        • 除非你的数据有\r\n
        猜你喜欢
        • 1970-01-01
        • 2018-07-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-05
        • 2018-06-04
        • 2023-03-02
        • 1970-01-01
        相关资源
        最近更新 更多