Christopher
Christopher

Reputation: 6046

How to parse the "request body" using python CGI?

I just need to write a simple python CGI script to parse the contents of a POST request containing JSON. This is only test code so that I can test a client application until the actual server is ready (written by someone else).

I can read the cgi.FieldStorage() and dump the keys() but the request body containing the JSON is nowhere to be found.

I can also dump the os.environ() which provides lots of info except that I do not see a variable containing the request body.

Any input appreciated.

Chris

Upvotes: 11

Views: 9784

Answers (2)

Zhihao Wang
Zhihao Wang

Reputation: 81

notice that if you call cgi.FieldStorage() before in your code, you can't get the body data from stdin, because it just be read once.

Upvotes: 8

ars
ars

Reputation: 123538

If you're using CGI, just read data from stdin:

import sys
data = sys.stdin.read()

Upvotes: 27

Related Questions