我正在使用web.py
来运行服务器。我需要从远程服务器获取请求,但是,请求会向我发送带有Chunked Transfer Coding的数据。
我可以使用web.ctx.env['wsgi.input'].read(1000)
来获取数据。但这不是我需要的,因为我不知道数据的长度(因为它是分块的)。但是如果我使用web.ctx.env['wsgi.input'].read()
,服务器就会崩溃。
有人能告诉我如何在请求中获取分块数据吗?
答案 0 :(得分:1)
调用.read()会将整个文件提取到一个字符串中,这可能太大了。
基于:https://stackoverflow.com/a/10140333/1125660
while True:
chunk = web.ctx.env['wsgi.input'].read(1000)
if chunk == '':
break
process(chunk)
答案 1 :(得分:-1)
web.py将CherryPy作为Web服务器运行,它支持使用分块传输编码处理请求。你误读了文件吗?