Как разместить скрипт на языке Python CGI с `питон -м SimpleHTTPServer 8000 " или " питон -м CGIHTTPServer 8000`?

когда я запускаю python -m SimpleHTTPServer 8000 или python -m CGIHTTPServer 8000 в моей оболочке я размещаю содержимое моего текущего каталога в интернете.

Я хотел бы сделать следующее cgi_script.py работайте правильно, используя приведенную выше команду в командной строке, когда я перехожу к 192.xxx.x.xx:8000/cgi_script.py

#!/usr/bin/env python
print "Content-Type: text/html"
print
print """
<html>
<body>
<h2>Hello World!</h2>
</body>
</html>
"""

но этот скрипт отображается буквально и не только " Hello World!" часть. Кстати, я изменил разрешения файла на 755 для cgi_script.py а также папку, из которой я его размещаю.

6 ответов


попробовать python -m CGIHTTPServer 8000.

обратите внимание, что вы должны переместить скрипт в cgi-bin или htbin каталог для того, чтобы быть runnable.


поэтому не позволяет мне комментировать, поэтому я добавляю это как отдельный ответ, дополнение к Родриго.

Вы можете использовать другой параметр cgi_directories значение по умолчанию ['/cgi-bin', '/htbin']. Подробнее здесь


когда я столкнулся с этой проблемой, я обнаружил, что в зависимости от того, в каком каталоге вы находитесь, когда вы запустите python -m CGIHTTPServer 8000 команда дает разные результаты. При попытке выполнить команду в то время как в каталоге cgi-bin браузер продолжал возвращать необработанный код сценария. после того, как я КР ЕД на один уровень выше и управлял python -m CGIHTTPServer 8000 команда снова мой скрипт начал выполняться.


@Bentley4-если вы все еще не в состоянии сделать, попробуйте импортировать cgi.

#!C:\Python34\python.exe-u импорт cgi печать ("Content-type:text/html")

HTH


в Python3 командная строка просто

python -http.server --cgi 8000

эта работа для меня, запустить python -m CGIHTTPServer 8000 команда того же уровня меню с cgi-bin и перемещение cgi_script.py в папку cgi-bin.В браузере введите http://localhost:8000/cgi-bin/cgi_script.py