2010-10-01 2 views
8

Ich muss nur ein einfaches Python-CGI-Skript schreiben, um den Inhalt einer POST-Anfrage zu analysieren, die JSON enthält. Dies ist nur Testcode, damit ich eine Client-Anwendung testen kann, bis der eigentliche Server bereit ist (von jemand anderem geschrieben).Wie analysiert man den "Anfragetext" mit Python CGI?

Ich kann die cgi.FieldStorage() lesen und die Schlüssel() ausgeben, aber der Anfragetext, der den JSON enthält, ist nirgendwo zu finden.

Ich kann auch das os.environ() ausgeben, das viele Informationen liefert, außer dass ich keine Variable sehe, die den Anfragetext enthält.

Jeder Eingang geschätzt.

Chris

Antwort

17

Wenn Sie CGI verwenden, lesen nur Daten von stdin:

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

Fantastisch! Funktioniert super! Ich habe gesucht, aber noch nie gesehen. Vielen Dank! – Christopher

+0

hilft viel! genial! – luoluo

3

bemerkt, dass, wenn Sie cgi.FieldStorage() vor in Ihrem Code aufrufen, können Sie nicht die Körperdaten von stdin erhalten können , weil es nur einmal gelesen wird.