Python瓶模块导致"错误:413请求实体太大"

Tre*_*reg 20 python runtime-error http bottle

使用Python的模块bottle,我在发布正文大小> bottle内部MEMFILE_MAX常量的请求时收到HTTP 413错误.最小的工作示例如下所示.

服务器部分(server.py):

from bottle import *

@post('/test')
def test():
    return str(len(request.forms['foo']));

def main():
    run(port=8008);

if __name__ == '__main__':
    main();
Run Code Online (Sandbox Code Playgroud)

客户部分(client.py):

import requests

def main():
    url = 'http://127.0.0.1:8008/test';

    r = requests.post(url, data={ 'foo' : 100000 * 'a' });
    print(r.text);

    r = requests.post(url, data={ 'foo' : 200000 * 'a' });
    print(r.text);

if __name__ == '__main__':
    main();
Run Code Online (Sandbox Code Playgroud)

第一个请求打印:

100000
Run Code Online (Sandbox Code Playgroud)

第二个请求打印:

...
<body>
    <h1>Error: 413 Request Entity Too Large</h1>
    <p>Sorry, the requested URL <tt>&#039;http://127.0.0.1:8008/test&#039;</tt>
       caused an error:</p>
    <pre>Request to large</pre>
</body>
....
Run Code Online (Sandbox Code Playgroud)

我完全不知道如何增加bottle内部限制.是否有任何简单的方法来增加限制,允许大小的请求,例如1 MB?

sbe*_*rry 43

你应该能够做到

import bottle
bottle.BaseRequest.MEMFILE_MAX = 1024 * 1024 # (or whatever you want)
Run Code Online (Sandbox Code Playgroud)

这似乎是基于的唯一方法