运行OS X 10.8.4错误404的CGIHTTPServer

时间:2013-09-15 00:31:21

标签: python macos cgi

我有下面的简单python脚本,hellocgi.py

import sys
sys.stdout.write("Content-type: text/html \r\n\r\n")
sys.stdout.write("<!doctype html><html><head><title>Hello CGI</title></head>")
sys.stdout.write("<body><Hello CGI</h2></body></html>")

该文件放在目录

/Users/MyName/cgi-bin

然后我更改权限

chmod +x hellocgi.py

并运行

python -m CGIHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

如果我使用http://localhost:8000/cgi-bin/hellocgi.py,打开浏览器,我会:

Error response
Error code 404.
Message: No such CGI script ('/cgi-bin/hellocgi.py').
Error code explanation: 404 = Nothing matches the given URI.

有谁能告诉我发生了什么事?我还尝试调整/ Library / WebServer / CGI-Executables中的脚本,但这不起作用。

由于

2 个答案:

答案 0 :(得分:0)

脚本需要读取权限,而不是执行权限。 python解释器执行,脚本只是从文件系统中读取。

答案 1 :(得分:0)

我使用无效(不存在)路径重现了您列出的错误, 所以我建议你重新检查你正在使用的目录以及 文件名和网址的拼写。

根据文档[1],   “此类用于提供CGI的文件或输出    来自当前目录及以下的脚本“ CGIHTTPServer使用以该目录为根的目录树 它运行。因此,你应该选择一些目录($ HOME 和/ tmp / www /如果你想做一些测试一样工作,设置 您要提供的文件,并从目录中启动服务器。

[1] http://docs.python.org/2/library/cgihttpserver.html