если вы подключаетесь с мобильного устройства к http://192.168.1.3/HelloWorld.py
на сервере с CGI
, тогда код должен выполняться на сервере, а не на мобильном устройстве. Если CGI
не работает, то сервер может попытаться отправить код в виде обычного файла, а затем мобильное устройство может запустить его локально, но это неправильно - сервер CGI
должен запустить код на сервере.
При запуске я бы поместил код в подпапку cgi-bin
, чтобы запустить его как http://192.168.1.3/cgi-bin/HelloWorld.py
, поскольку большинство CGI
серверов по умолчанию запускают код только в этой подпапке.
В сценарии Linux потребуется строчка
#!/usr/bin/env python
в первой строке, и он должен быть исполняемым
chmod a+x script.py
CGI
имеет также некоторые правила, как генерировать данные, которые он отправит клиенту. При запуске может потребоваться дополнительная информация для протокола HTTP
, а использование только печати («Hello World») может привести к получению неверных данных, и может возникнуть проблема с отправкой. Это должно быть в любом уроке для CGI
скриптов. См. Модуль cgi
Для запуска кода Python Apache необходим модуль mod_cgi
, mod_fcgi
или mod_ python
mod_cgi
и mod_fcgi
могут запускать сценарии на разных языках: Python
, Perl
, Ruby
, et c. и даже Bash
, PHP
или C
/ C++
/ Java
Python3 имеет стандартный модуль http , который можно использовать также просто сервер
python3 -m http.server --cgi
и он будет обслуживать все файлы в папке, в которой вы его запускаете. И он запускает файлы из подпапки cgi-bin/
- см. Do c: http