运行OS X 10.8.4的CGIHTTPServer错误404

2024-06-26 13:39:24 发布

您现在位置:Python中文网/ 问答频道 /正文

下面是简单的python脚本,你好.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>")

文件被放在目录中

^{pr2}$

然后我更改权限

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可执行文件中调整脚本的速度,但这行不通。在

谢谢


Tags: py脚本hellobintitlehtmlstdoutsys
2条回答

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

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

根据文件[1], “这个类用于提供CGI的文件或输出 来自当前目录及以下目录的脚本“ CGIHTTPServer使用的目录树的根目录是 它正在运行。因此,您应该选择一些目录($HOME) 如果您只想做一些测试,/tmp/www/也可以),安装 然后从目录启动服务器。在

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

相关问题 更多 >