Mam problem z odczytaniem żądania POST z bottle.py
.Czytanie ciała POST z bottle.py
Wysłane żądanie zawiera tekst w treści. Możesz zobaczyć, jak się to robi tutaj: 29: https://github.com/kinetica/tries-on.js/blob/master/lib/game.js.
Możesz również zobaczyć, jak jest on czytany na kliencie opartym na node
tutaj na linii 4: https://github.com/kinetica/tries-on.js/blob/master/masterClient.js.
Jednak nie udało mi się naśladować tego zachowania na moim kliencie opartym na bottle.py
. docs mówią, że mogę odczytać surowe ciało z obiektu podobnego do pliku, ale nie mogę uzyskać danych ani za pomocą pętli for na request.body
, ani za pomocą metody request.body
's readlines
.
Obsługuję żądanie w funkcji ozdobionej za pomocą @route('/', method='POST')
, a żądania przychodzą poprawnie.
Z góry dziękuję.
EDIT:
Kompletny skrypt jest:
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)
myślałem, że to było potrzebne, aby przewinąć 'obiekt StringIO', ale to nie jest konieczne. Czy możesz dodać funkcje Pythona do swojego pytania? –
Oczywiście. Zaktualizowałem odpowiedź. Dzięki, @ A.Rodas –
Skąd wiadomo, że wnioski przychodzą poprawnie? Jakie są dane wyjściowe i/lub informacje zwrotne dla kodu, który tu pokazałeś? –