对于我的应用程序,我通过套接字发送 http-get 请求。然后网站发送响应,但它使用的是分块编码。有没有办法下载完整的数据?也许我使用错误的方式下载数据?
BufferedReader rsp = new BufferedReader(new InputStreamReader(Client.getInputStream()));
我已经阅读了有关“ChunkedInputStream”的信息,但我无法让它工作。
对于我的应用程序,我通过套接字发送 http-get 请求。然后网站发送响应,但它使用的是分块编码。有没有办法下载完整的数据?也许我使用错误的方式下载数据?
BufferedReader rsp = new BufferedReader(new InputStreamReader(Client.getInputStream()));
我已经阅读了有关“ChunkedInputStream”的信息,但我无法让它工作。
使用 HttpURLConnection 而不是 Socket。为你做这一切。
分块编码的规范在这里
换句话说,首先读取"\r\n"
并使用基数 16 解析数字,然后读取直到您读取了那么多字节和另一个"\r\n"
(这不是数据的一部分)并重复直到数字等于 0
html.replaceAll("\r\n[0-9A-Fa-f ]+\r\n", "");