2014-12-06 1 views
2

Пытаюсь передать несколько параметров, с помощью POST или PUT, но я получаю только первый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 печатаются как «None», как они отрезаны от &

ответ

2

Вы должны поставить кавычки вокруг URL:

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

, что просто означает, что я должен остановиться и пойти домой прямо сейчас;) -d вариант не работает, а котировки помогли. Благодаря! –

+0

@EugeneSajine точно, я удалил эту опцию '-d', чтобы избежать путаницы. Спасибо за тесты. – alecxe

 Смежные вопросы

  • Нет связанных вопросов^_^