Python SimpleHTTPServer无法工作 - 出现服务器错误

3

我刚试图在一个包含基本网页文件的目录中运行 python -m SimpleHTTPServer 8000 命令。一开始看起来似乎没问题,在命令行上会打印:

Serving HTTP on 0.0.0.0 port 8000 ...

但是,当我在浏览器上尝试访问 http://127.0.0.1:8000 页面时,会出现以下错误信息:

服务器发生错误,请联系管理员。

很抱歉如果这看起来有些含糊不清,但我不是Python开发人员,所以不知道为什么它不工作。你有任何想法或如何开始调试这个问题吗?


命令行上有任何消息吗? - Paulo Bu
@PauloBu 没有任何问题,它只是显示原始的 Serving HTTP on 0.0.0.0 port 8000 ... - shrewdbeans
你尝试在另一个端口上运行它了吗?例如测试12345 - Paulo Bu
刚才只是一个简单的错误,我很高兴能够帮忙! :) - Paulo Bu
尽管它已经被点赞了,但如果你想保留它,我会添加答案。 - Paulo Bu
显示剩余2条评论
2个回答

6
如果您在命令行中看不到任何内容,那么服务器就没有收到任何输入。可能是其他进程正在监听该端口。请尝试更改端口以确认:
python -m SimpleHTTPServer 12345

小提示:想了解哪些应用程序在监听哪个端口,可以使用netstat命令非常有用 :)

希望这可以帮到您!


这个可以工作。不工作的是尝试使用浏览器(我的情况下是Firefox)连接到http://{ip_address}:12345(或任何其他端口)。它根本无法连接。(仅使用{ip_address}可以工作。)你能连接成功吗?如果可以,你有任何想法为什么其他人不能连接吗? - Apostolos
哇,这很奇怪。我刚刚尝试了一下原样输入,使用Chrome可以正常工作。也许你的电脑不允许它绑定到0.0.0.0(所有接口)。尝试使用sudo再试一次。不理解“仅使用{ip_address}就可以工作”的部分。这里的“工作”是什么意思? - Paulo Bu
“仅使用IP地址”是指http://192.168.1.1(我的本地IP地址)可以正常工作,因此这不是问题。但是http://192.168.1.1:1234无法正常工作。同样,http://0.0.0.0:1234也无法正常工作,这没有意义,而且我从未在我找到的示例中看到过它的使用。 - Apostolos

2

尝试以下代码,适用于Python 3版本:

python -m http.server

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接