Python:如何在web.py服务器中读取请求中的“分块传输编码”

1 投票
2 回答
651 浏览
提问于 2025-04-30 14:00

我正在使用 web.py 来运行一个服务器。我需要从一个远程服务器获取请求,不过这个请求发送给我的数据是用分块传输编码的。

我可以用 web.ctx.env['wsgi.input'].read(1000) 来获取数据。但这不是我想要的,因为我不知道数据的长度(因为它是分块的)。如果我使用 web.ctx.env['wsgi.input'].read(),服务器就会崩溃。

有没有人能告诉我怎么获取请求中的分块数据?

暂无标签

2 个回答

-1

web.py 使用 CherryPy 作为网络服务器,它支持处理带有分块传输编码的请求。你是不是看错文档了?

1

调用 .read() 方法会把整个文件的内容都读进一个字符串里,这样可能会占用太多内存。

来源: https://stackoverflow.com/a/10140333/1125660

while True: chunk = web.ctx.env['wsgi.input'].read(1000) if chunk == '': break process(chunk)

撰写回答