2010-10-01 22 views
8

J'ai juste besoin d'écrire un simple script CGI python pour analyser le contenu d'une requête POST contenant JSON. Ceci est seulement du code de test pour que je puisse tester une application cliente jusqu'à ce que le serveur soit prêt (écrit par quelqu'un d'autre).Comment analyser le "corps de la requête" en utilisant python CGI?

Je peux lire le cgi.FieldStorage() et vider les clés() mais le corps de la demande contenant le JSON est introuvable.

Je peux aussi sauvegarder le fichier os.environ() qui fournit beaucoup d'informations sauf que je ne vois pas de variable contenant le corps de la requête.

Toute contribution appréciée.

Chris

Répondre

17

Si vous utilisez CGI, il suffit de lire les données de stdin:

import sys 
data = sys.stdin.read() 
+1

Fantastique! Fonctionne très bien! J'ai cherché mais n'ai jamais vu celui-ci. Je vous remercie! – Christopher

+0

aide beaucoup! impressionnant! – luoluo

3

avis que si vous appelez cgi.FieldStorage() avant dans votre code, vous ne pouvez pas obtenir les données du corps de stdin , parce que ça vient d'être lu une fois.