我有一个最小的代码,用于处理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
,我看到的是脚本的文本而不是执行结果。权限已正确设置,测试脚本本身也没有问题(当脚本位于cgi-bin中时,我可以使用python -m CGIHTTPServer
很好地运行它)。我怀疑问题与默认的CGI目录有关。如何使脚本执行?