У меня возникли проблемы с чтением запроса POST с bottle.py
.Чтение POST тела с bottle.py
Отправленный запрос имеет некоторый текст в его теле. Вы можете увидеть, как это делается в строке 29: https://github.com/kinetica/tries-on.js/blob/master/lib/game.js.
Вы также можете посмотреть, как он читается на базе клиента node
здесь, в строке 4: https://github.com/kinetica/tries-on.js/blob/master/masterClient.js.
Однако, я не смог воспроизвести это поведение на моем bottle.py
клиентах. docs говорят, что я могу читать сырое тело с файлоподобным объектом, но я не могу получить данные, не используя цикл for на request.body
, и не используя метод request.body
readlines
.
Я обрабатываю запрос в функции, украшенной @route('/', method='POST')
, и запросы поступают правильно.
Заранее спасибо.
EDIT:
Полный сценарий:
from bottle import route, run, request
@route('/', method='POST')
def index():
for l in request.body:
print l
print request.body.readlines()
run(host='localhost', port=8080, debug=True)
Я думал, что это было необходимо, чтобы перемотать объект 'StringIO', но не обязательно. Не могли бы вы добавить функции Python к вашему вопросу? –
Конечно. Я обновил ответ. Спасибо, @ A.Rodas –
Как вы знаете, что запросы поступают правильно? Каков результат и/или трассировка для кода, который вы здесь показали? –