我正在使用Python中的套接字(学习它们),而我正在学习HTTP协议的工作方式。我一直很好,直到我知道有一些叫做Transfer-Encoding: chunked
的东西。我对它进行了谷歌搜索,发现了wikipedia article。它表示每个块的大小在块本身之前指定。但它没有说我应该从套接字读取多少字节才能正确获取它。此外,它没有说我是否应该关心字节序。任何人都可以提供详细信息吗?
答案 0 :(得分:1)
不要过度思考它,因为HTTP中的大部分内容都只是纯文本。您只需要从套接字读取,直到遇到CRLF序列,然后提取块大小(可以用分号终止)并将其解释为十六进制数。
一旦你有了这条线,这应该可以提取块大小:
chunk_size = int(line.strip().split(';')[0], 16)