Lecture du corps POST avec bottle.py
Je vais avoir de la difficulté à lire d'une requête POST avec bottle.py
.
La demande adressée a du texte dans son corps. Vous pouvez voir comment il est fait ici sur la ligne 29: https://github.com/kinetica/tries-on.js/blob/master/lib/game.js.
Vous pouvez également voir comment il est lu sur un node
base de client ici, sur la ligne 4: https://github.com/kinetica/tries-on.js/blob/master/masterClient.js.
Cependant, je n'ai pas été en mesure d'imiter ce comportement sur mon bottle.py
base de client. Le docs dire que je peux lire le raw corps avec un fichier-comme l'objet, mais je ne peux pas obtenir les données ni à l'aide d'une boucle for sur request.body
ni l'utilisation de request.body
's readlines
méthode.
Je suis en charge de la demande en fonction décorées avec @route('/', method='POST')
et les demandes arrivent correctement.
Merci d'avance.
EDIT:
Le script complet est:
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)
source d'informationauteur Martín Coll
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayer simples
postdata = request.body.read()
?Exemple suivant montre la lecture des données publiées en format raw à l'aide de
request.body.read()
Il imprime aussi dans le fichier journal (pas pour le client) contenu brut du corps.
De montrer que l'accès aux propriétés du formulaire, j'ai ajouté de retour "nom" et "prénom" pour le client.
Pour les tests, j'ai utilisé curl client en ligne de commande:
Le code qui fonctionne pour moi: