Настройте Apache для принятия запросов POST через CGI - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь настроить Apache (в Debian) на прием POST-запросов и отправлять эти запросы в сценарий python. На стороне клиента я хочу что-то вроде следующего JavaScript, которое будет вызываться в ответ на нажатие кнопки (скажем).

var req = new XMLHttpRequest();
req.open("POST","/handler.py");
req.setRequestHeader("Content-Type","text/plain;charset=UTF-8");
req.send("long arbitrary text");

Насколько я понимаю, теоретически это должно go к handler.py через стандартный ввод. Клиент должен иметь возможность отправлять любую произвольную строку, а не «форму» в обычном HTML смысле.

Это кажется очень простой вещью, но я искал информацию и пробовал разные вещи без удачи Я сделал

sudo a2enmod cgid

и изменил /etc/apache2.conf для включения

Directory / var / www/cgi
AllowOverride None
Опции + ExecCGI -MultiViews + SymLinksIfOwnerMatch
Требовать все предоставленные
AddHandler cgi-script .py
DirectoryIndex index.py
/ Directory

, после чего перезапустить сервер.

Первое препятствие заключается в том, что, глядя на /var/log/apache2/access.log, кажется, что Apache даже не находит handler.py. Выдает ошибку 404 для запроса на публикацию.

...