Обслуживание скриптов Python с помощью CGIHTTPServer в Mac OS X - PullRequest
4 голосов
/ 08 августа 2010

Я пытаюсь настроить Python CGIHTTPServer на Mac OS X, чтобы он мог обслуживать CGI-скрипты локально, но мне кажется, что я не могу этого сделать.

У меня есть простой тестскрипт:

#!/usr/bin/env python

import cgi

cgi.test()

Имеет разрешения -rwxr-xr-x@ и находится в ~/WWW (с разрешениями drwxr-xr-x).Он отлично запускается из оболочки, и у меня есть этот сценарий, который обслуживает их, используя CGIHTTPServer:

import CGIHTTPServer
import BaseHTTPServer

class Handler(CGIHTTPServer.CGIHTTPRequestHandler):
    cgi_directories = ["~/WWW"]

PORT = 8000

httpd = BaseHTTPServer.HTTPServer(("", PORT), Handler)
print "serving at port", PORT

Но когда я его запускаю, переход к localhost:8000 просто обслуживает содержимое сценария, а нерезультат (т.е. он возвращает код, а не вывод).

Что я делаю не так?

1 Ответ

4 голосов
/ 08 августа 2010

Пути в cgi_directories сопоставляются с частью пути URL, а не с фактическим путем файловой системы. Установка ["/"] или [""], вероятно, будет работать лучше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...