Python:如何在web.py服务器中读取请求中的“分块传输编码”
我正在使用 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)