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>'http://127.0.0.1:8008/test'</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)
这似乎是基于源的唯一方法