繁体   English   中英

python -m SimpleHTTPServer - 侦听 0.0.0.0:8000 但 http://0.0.0.0:8000/test.html 给出“找不到页面”

[英]python -m SimpleHTTPServer - Listening on 0.0.0.0:8000 but http://0.0.0.0:8000/test.html gives "Page Not Found"

cding到我的文件夹后,我输入

python -m SimpleHTTPServer

并得到

Serving HTTP on 0.0.0.0 port 8000 ...

回复。 但是,当我点击http://0.0.0.0:8000/test.html时,出现找不到页面错误。

我也试过

pushd /path/you/want/to/serve; python -m SimpleHTTPServer; popd

取自这个问题

当我点击 ls 时,我可以看到文件和目录。 有人知道我做错了什么吗?

我认为其他两个答案试图表明 0.0.0.0 不是您应该访问的 URL。 当 Python 网络服务器(例如cherrypy)说它在 0.0.0.0 上提供服务时,这意味着它正在侦听最终到达该机器的所有 TCP 流量,无论请求的主机名或 IP 是什么。 但是,如果您更改它以使套接字侦听 127.0.0.1 或“localhost”,那么除非请求专门针对该 IP/主机名,否则它不会响应请求。 例如,很多时候你可以使用你的机器名而不是 localhost(例如 ubuntu 允许这样做)。 如果您的机器名称是 'brian' 并且您有一台监听 0.0.0.0:8080 的服务器,您应该能够通过http://brian:8080访问该服务器。 但是,如果该服务器正在侦听 'localhost',即使将 'brian' 设置为指向 'localhost',该服务器也不会收到该消息。

您还需要确保该文件确实在您运行命令的目录中。 否则,404 响应实际上是正确的 :)

祝你好运!

你试过http://127.0.0.1:8000/吗?

:)

您应该使用此链接http://127.0.0.1:8000/并可以在那里查看所有文件

您必须输入您连接的计算机的 ip 地址,例如 192.168.0.2:8000 将其更改为您服务器的 ip 地址。

尝试浏览到http://localhost:8000/test.htmlhttp://127.0.0.1:8000/test.html (只要你的主机文件不是疯狂的,这两个应该是完全一样的)。

0.0.0.0 通常被 Windows 用作“未连接”IP,也可以用作处理 IP 时的一种通配符。 不过,我对为什么您的 HTTP 服务器试图在 0.0.0.0 上托管感到有些困惑。 您可能需要编辑一些配置文件并将其设置为“localhost”或“127.0.0.1”。

尝试通过 localhost 托管可能会帮助您,而不是像这样在http://0.0.0.0/上尝试: python -m http.server 8000 --bind 127.0.0.1

  1. 创建一个目录,例如mkdir HTTPServer_dir
  2. 在文件夹cd HTTPServer_dir内移动
  3. 输入命令(根据 python 版本) python -m SimpleHTTPSever 8000 (或你想要的端口)
  4. 在浏览器上输入http://127.0.0.1:8000/

完毕 !!!

您可以在 HTTPServer_dir 中创建一个简单的 index.html 页面,以便您可以看到一个 html 页面而不是目录列表

在 Linux 上运行ifconfig或在 Windows 上运行ipconfig以查找服务器的 ip 地址。

$ sudo ifconfig
wlan0     Link encap:Ethernet  HWaddr 30:3a:64:b3:be:6a  
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0

如果网址是:

http://192.168.1.103:8000/test.html

有时,某些其他服务使用相同的端口号。 所以我们可以尝试使用其他端口,例如

python -m SimpleHTTPServer 9090

然后只需点击 http://{您的系统 IP}:9090/

这对我有用。

这对我有用,用
http://localhost:x000

这在 Windows 8 上对我有用。没有下载任何软件!

在 cmd 中:

  1. 转到您的文件所在的目录。
  2. python -m SimpleHTTPServer
    显示“在 0.0.0.0 端口 8000 上提供 HTTP 服务......”

现在,找出您的系统名称。 对于 Windows 8:控制面板 -> 系统。 您将在此处看到计算机名称。 假设它是“Abhinav”。

您的本地服务器将托管在“Abhinav.local:8000”。

在 python3 中试试这个

python -m http.server 8000 --bind 127.0.0.1

在您的浏览器中,这个网址:

http://127.0.0.1:8000/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM