1

我正在使用 Python 中的套接字(以学习它们),并且正在学习 HTTP 协议是如何工作的。我做得很好,直到我知道有一个叫做Transfer-Encoding: chunked. 我对它进行了谷歌搜索,并找到了这篇维基百科文章。它说每个块的大小是在块本身之前指定的。但它没有说明我应该从套接字读取多少字节才能正确获取它。此外,它并没有说我是否应该关心字节顺序。谁能提供这方面的详细信息?

4

1 回答 1

1

不要想太多,因为 HTTP 中的大多数内容只是纯文本。您只需要从套接字读取直到遇到 CRLF 序列,然后提取块大小(可能以分号终止)并将其解释为十六进制数。

一旦你有了这条线,这应该可以提取块大小:

chunk_size = int(line.strip().split(';')[0], 16)
于 2012-08-24T11:35:06.123 回答