如果传输编码被分块,如何知道HTTP响应块的大小。我无法获得逻辑。 请帮帮我。并提供一些示例java代码来获取chunk的大小。我在一些书中读到每个块的大小是在块本身之前指定的。但是使用哪个逻辑我可以得到它。 请帮我使用java。
谢谢。
答案 0 :(得分:5)
无法准备好使用代码,但Apache HttpClient库支持开箱即用的“一切”。
这是wikipedia分块响应的例子。在读取正文部分之前,您不知道数据的确切字节大小。请注意每个块的大小是十六进制值,最后0大小的块是数据的结尾。它也由2字节的CRLF分隔符终止。
Transfer-Encoding: chunked\r\n
Content-Type: text/plain\r\n
\r\n
4\r\n
Wiki\r\n
5;extkey=extvalue\r\n
pedia\r\n
E\r\n
.in\r\n
\r\n
chunks.\r\n
0\r\n
AfterBodyHeader: some value\r\n
AfterBodyHeader2: any value\r\n
\r\n
此示例使用\ r \ n占位符指示2字节分隔符作为规范要求