zergon321
@zergon321

Почему исходный код cgi-скрипта при запросе отображается в браузере, но сам скрипт не выводит html-разметку?

Делал все как здесь: https://pythonworld.ru/web/cgi-1.html

Код скрипта:
print("Content-type: text/html")
print()
print(
"""<html>
<body>
<h1>GOTO HELL</h1>
</body>
</html>""")


ОС Windows 10, сервер работает нормально.
Код сервера:
from http.server import HTTPServer, CGIHTTPRequestHandler
server_address = ("localhost", 8000)
httpd = HTTPServer(server_address, CGIHTTPRequestHandler)
httpd.serve_forever()
  • Вопрос задан
  • 1135 просмотров
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега Python
software engineer
Скрипт надо хендлить. То есть веб-сервер должен понимать, что это скрипт и выполнять его, а не отображать как страничку.
Убедитесь, что выполнение скриптов разрешено в вашей папке
<Directory "/var/www/htdocs/somedir">
    Options +ExecCGI
</Directory>


Убедитесь, что расширение файла прописано в хендлере
AddHandler cgi-script .cgi .pl

Можно даже указать хендлер конкретно для этой папки:
<Directory "/home/*/public_html">
    Options +ExecCGI
    AddHandler cgi-script .cgi
</Directory>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы