'Python bottle module causes "Error: 413 Request Entity Too Large"
Using Python's module bottle
, I'm getting HTTP 413 error when posting requests of body size > bottle
's internal MEMFILE_MAX
constant. Minimal working example is shown below.
Server part (server.py
):
from bottle import *
@post('/test')
def test():
return str(len(request.forms['foo']));
def main():
run(port=8008);
if __name__ == '__main__':
main();
Client part (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();
The first request prints:
100000
The second request prints:
...
<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>
....
I have absolutely no idea how to increase the bottle
's internal limit. Is there any simple way to increase the limit, allowing requests of size, e.g., 1 MB?
Solution 1:[1]
You should be able to just
import bottle
bottle.BaseRequest.MEMFILE_MAX = 1024 * 1024 # (or whatever you want)
This appears to be the only way based on the source
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | sberry |