我有以下用于处理 CGI 的 HTTP 服务器的最小代码,源自内胎上的几个示例:
#!/usr/bin/env python
import BaseHTTPServer
import CGIHTTPServer
import cgitb;
cgitb.enable() # Error reporting
server = BaseHTTPServer.HTTPServer
handler = CGIHTTPServer.CGIHTTPRequestHandler
server_address = ("", 8000)
handler.cgi_directories = [""]
httpd = server(server_address, handler)
httpd.serve_forever()
然而,当我执行脚本并尝试使用 CGI 在同一目录中运行测试脚本时http://localhost:8000/test.py
,我看到的是脚本的文本,而不是执行的结果。
权限设置都正确,并且测试脚本本身不是问题(python -m CGIHTTPServer
当脚本驻留在 cgi-bin 中时,我可以使用 很好地运行它)。我怀疑这个问题与默认的 CGI 目录有关。
如何让脚本执行?