在Mac OS X上使用CGIHTTPServer运行Python脚本

4 投票
1 回答
1624 浏览
提问于 2025-04-16 02:28

我正在尝试在Mac OS X上设置Python的CGIHTTPServer,希望能够在本地运行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

cgi_directories中的路径是和网址中的路径部分进行匹配的,而不是和实际的文件系统路径匹配。所以,如果你把它设置成 ["/"] 或者 [""],可能会效果更好。

撰写回答