限制web.py POST数据的大小

时间:2013-06-17 20:00:16

标签: python web.py

我正在使用web.py创建一个RESTful API,并使用 web.data()通过POST接收数据,如下所示:

def POST(self):
  data = web.data()

现在,当数据大小超过某个限制(比如10MB)时,我想返回一个错误。

我知道如何通过 web.input()来捕获 ValueError ,但我不知道如何使用web.data()。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

data()只需从CONTENT_LENGTH读取EOF个字节(或直到ctx.env['wsgi.input'])。因此,如果您想在一定量的字节后中止,只需从那里直接读取(并设置ctx.data),那么您可以控制要读取的字节数。

或者如果设置了CONTENT_LENGTH标题,您可以直接检查它并在必要时中止而不读取...