CGI - это способ взаимодействия серверов со скриптами.В большинстве случаев вы просто настраиваете сервер на выполнение файла, и он будет выполнять его с несколькими установленными переменными среды и данными POST, поданными на его стандартный ввод.Сценарий должен выводить заголовки страницы, за которыми следует содержимое.
CGI-сценарии могут быть написаны на разных языках.Perl хорошо известен CGI-скриптами;здесь есть документация здесь .Python имеет a cgi
модуль для работы с CGI.В Ruby есть также a CGI
пакет .
Вот быстрый CGI-скрипт, написанный на Python, который записывает в файл.Возможно, вы захотите изменить его или использовать его в качестве справочного, а не использовать его как есть:
#!/usr/bin/env python
import os
import os.path
import sys
import json
import cgi
# You'll probably want to remove or alter
# the following line for production.
import cgitb; cgitb.enable()
def bad_request():
print "Status: 400 Bad Request"
print "Content-Type: application/json"
print ""
json.dump({'success': False}, sys.stdout)
sys.exit(0)
assert 'REQUEST_METHOD' in os.environ
if os.environ['REQUEST_METHOD'] != 'POST':
bad_request()
form = cgi.FieldStorage()
if 'data' not in form:
bad_request()
filename = os.path.join(os.path.dirname(__file__), "some_file.json")
with open(filename, "wb") as f:
f.write(form['data'].value)
print "Content-Type: application/json"
print ""
json.dump({'success': True}, sys.stdout)
Если вы POST
к нему с параметром data
, он сохранит эти данныев some_file.json
в том же каталоге, что и он сам.