Python:如何从web.py服务器中的请求中读取“Chunked Transfer Coding”

时间:2014-10-30 09:38:46

标签: python web.py

我正在使用web.py来运行服务器。我需要从远程服务器获取请求,但是,请求会向我发送带有Chunked Transfer Coding的数据。

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

有人能告诉我如何在请求中获取分块数据吗?

2 个答案:

答案 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服务器运行,它支持使用分块传输编码处理请求。你误读了文件吗?