我正在尝试在Mac OS X上设置Python的CGIHTTPServer
以便能够在本地提供CGI脚本,但我似乎无法做到这一点。
我有一个简单的测试脚本:
#!/usr/bin/env python
import cgi
cgi.test()
它具有权限-rwxr-xr-x@
,位于~/WWW
(具有权限drwxr-xr-x
)。它从shell运行得很好,我有这个脚本使用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
只是提供脚本的内容,而不是结果(即它返回代码,而不是输出)。
我做错了什么?
答案 0 :(得分:4)
cgi_directories
中的路径与URL的路径部分匹配,而不是实际的文件系统路径。将其设置为["/"]
或[""]
可能会更好。