我正在尝试在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只提供脚本的内容,而不是结果(即它返回代码,而不是输出).
我究竟做错了什么?
解决方法:
cgi_directories中的路径与URL的路径部分匹配,而不是实际的文件系统路径.将其设置为[“/”]或[“”]可能会更好.