首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在OS X 10.8.4上运行的CGIHTTPServer错误404

在OS X 10.8.4上运行的CGIHTTPServer错误404
EN

Stack Overflow用户
提问于 2013-09-15 08:31:21
回答 2查看 1.4K关注 0票数 0

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

代码语言:javascript
复制
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>")

该文件被放置在目录中

代码语言:javascript
复制
/Users/MyName/cgi-bin

然后我更改权限

代码语言:javascript
复制
chmod +x hellocgi.py

然后运行

代码语言:javascript
复制
python -m CGIHTTPServer
Serving HTTP on 0.0.0.0 port 8000 ...

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

代码语言:javascript
复制
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中调整脚本的步调,但这不起作用。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-09-15 08:35:44

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

票数 0
EN

Stack Overflow用户

发布于 2013-09-16 07:34:42

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

根据文档1,“这个类用于提供当前目录及以下目录中的文件或CGI脚本的输出”,CGIHTTPServer使用以其运行目录为根的目录树。因此,您应该选择某个目录($HOME可以工作,如果您只想执行一些测试,则/tmp/www/也可以),设置您想要提供的文件,并从该目录启动服务器。

1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18807757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档