2010-10-01 6 views
8

Ho solo bisogno di scrivere un semplice script CGI Python per analizzare il contenuto di una richiesta POST contenente JSON. Questo è solo il codice di test in modo che possa testare un'applicazione client fino a quando il server attuale non è pronto (scritto da qualcun altro).Come analizzare il "corpo della richiesta" usando python CGI?

Posso leggere cgi.FieldStorage() e rilasciare le chiavi() ma il corpo della richiesta che contiene il JSON non si trova da nessuna parte.

Posso anche scaricare os.environ() che fornisce molte informazioni eccetto che non vedo una variabile contenente il corpo della richiesta.

Qualsiasi input apprezzato.

Chris

risposta

17

Se stai usando CGI, basta leggere i dati da stdin:

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

Fantastico! Funziona alla grande! Ho cercato ma mai visto questo. Grazie! – Christopher

+0

aiuta molto! eccezionale! – luoluo

3

avviso che se si chiama cgi.FieldStorage() prima nel codice, non è possibile ottenere i dati del corpo da stdin , perché è da leggere una sola volta.