2

你如何设置扭曲的 POST 请求的长度限制?我在文档中环顾四周,找不到任何东西。如果我知道默认限制,它甚至会有所帮助。

4

1 回答 1

5

我不相信传入 POST 数据的大小有默认限制,但是您可以通过覆盖该Request.handleContentChunk()方法很容易地施加一个限制,例如:

from twisted.web import server

class SizeLimitingRequest(server.Request):
    def handleContentChunk(self, data):
        if self.content.tell() + len(data) > self.size_limit_on_post_data:
            raise SomeKindOfError("too much data nooooooo")
        return server.Request.handleContentChunk(self, data)

您要重写的实际方法是 in twisted.web.http.Request,它是server.Request. 要使用闪亮的新类,只需设置Site实例的requestFactory属性:

mysite.requestFactory = SizeLimitingRequest
于 2012-07-11T23:39:31.543 回答