24

Python の module を使用して、 body size >の内部定数のbottleリクエストを送信すると、HTTP 413 エラーが発生します。最小限の作業例を以下に示します。bottleMEMFILE_MAX

サーバー部分 ( 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.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();

最初のリクエストは以下を出力します:

100000

2 番目の要求は以下を出力します。

...
<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>
....

bottleの内部制限を増やす方法がまったくわかりません。制限を増やして、1 MB などのサイズのリクエストを許可する簡単な方法はありますか?

4

1 に答える 1

53

あなたはただできるはずです

import bottle
bottle.BaseRequest.MEMFILE_MAX = 1024 * 1024 # (or whatever you want)

これは、ソースに基づく唯一の方法のようです

于 2013-05-31T21:16:01.763 に答える