Как разобрать «тело запроса» с помощью Python CGI? - PullRequest
10 голосов
/ 01 октября 2010

Мне просто нужно написать простой CGI-скрипт на python для анализа содержимого запроса POST, содержащего JSON.Это всего лишь тестовый код, так что я могу тестировать клиентское приложение до тех пор, пока сам сервер не будет готов (написан кем-то другим).

Я могу прочитать cgi.FieldStorage () и вывести ключи (), но запростело, содержащее JSON, нигде не найдено.

Я также могу вывести дамп os.environ (), который предоставляет много информации, за исключением того, что я не вижу переменную, содержащую тело запроса.

Любой вклад приветствуется.

Крис

Ответы [ 2 ]

20 голосов
/ 01 октября 2010

Если вы используете CGI, просто прочитайте данные из stdin:

import sys
data = sys.stdin.read()
4 голосов
/ 07 октября 2016

обратите внимание, что если вы ранее вызывали cgi.FieldStorage() в своем коде, вы не сможете получить данные тела из stdin, потому что они просто будут прочитаны один раз.

...