Bottle POST或PUT请求不会看到多个参数

时间:2014-12-06 00:32:15

标签: python rest curl bottle

我正在尝试使用POST或PUT传递几个参数,但我只得到第一个

@route('/command/', method='PUT')
def execute(command="Unknown"):
    param1 = request.query.get("param1")
    param2 = request.query.get("param2")
    param3 = request.query.get("param3")
    print("{} {} {} {}".format(command, param1, param2, param3))
    return "Executed {} {} {} {}".format(command, param1, param2, param3)

使用这样的请求:

curl -X PUT http://host:port/mycommand/?param1=value1&param2=value2&param3=value3

瓶子日志:"PUT /command/?param1=value1 HTTP/1.1" 并且param2和param3打印为“无”,就像它们在&

上被截断一样

1 个答案:

答案 0 :(得分:2)

您需要在网址周围加上引号:

curl -X PUT "http://host:port/mycommand/?param1=value1&param2=value2&param3=value3"