从 Bottle 服务器访问 HTTP POST 数据

Accessing HTTP POST data from Bottle Server

我有一个简单的 python http 监听服务器,如下所示。

from bottle import route, run

@route('/',method='POST')
def default():
    return 'My first bottle program.'

run(host='192.168.132.125', port=1729)

如果我对来自另一台服务器的某些数据(JSON 文件)执行 POST,如下所示

curl -X POST -d @data_100 http://192.168.132.125:1729/

我得到了输出

My First Bottle Program

现在我想让我的 Bottle 服务器将发布的 JSON 文件的内容转储到 server.How 上的一个文件夹中,我可以实现这一点吗?

您可以使用 request.forms 对象访问已发布的表单数据。 然后 parse/dump/do_anything 使用标准 python 工具。

您可以在此处阅读有关 FormDict 及其方法的信息: http://bottlepy.org/docs/dev/api.html#bottle.FormsDict

您可能想看看 Bottle 的 built-in json property

没有错误检查,它看起来像这样:

@route('/', method='POST')
def default():
    json_text = request.json
    with open('/path/to/file', 'wb') as f:
        f.write(json_text)
    return 'My first bottle program.'