Ответ 1
Попробуйте с python -m CGIHTTPServer 8000
.
Обратите внимание, что вам нужно переместить каталог script в каталог cgi-bin
или htbin
, чтобы он мог быть запущен.
Когда я запускаю 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>
"""
Но этот script отображается буквально, а не только "Hello World!". часть. Btw Я изменил права доступа к файлам 755 для cgi_script.py, а также папку, в которой я размещаю ее.
Попробуйте с python -m CGIHTTPServer 8000
.
Обратите внимание, что вам нужно переместить каталог script в каталог cgi-bin
или htbin
, чтобы он мог быть запущен.
SO не позволяет мне комментировать, поэтому я добавляю это как отдельный ответ, добавив к Rodrigo's.
Вы можете использовать другой параметр cgi_directories
, который по умолчанию равен ['/cgi-bin', '/htbin']
. Подробнее здесь
Когда я столкнулся с этой проблемой, я обнаружил, что в зависимости от того, какой каталог вы используете, когда вы запускаете команду python -m CGIHTTPServer 8000
, вы получаете разные результаты. При попытке запустить команду в каталоге cgi-bin браузер продолжал возвращать исходный код script. как только я на один уровень выше и снова запустил команду python -m CGIHTTPServer 8000
, мой script начал выполнение.
@Bentley4 -ifyou все еще не в состоянии сделать, попробуйте импортировать cgi.
#! C:\Python34\python.exe -u импортировать cgi print ( "Content-type: text/html" )
НТН
в 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