【问题标题】:SimpleHTTPServer: other devices can't connect to the serverSimpleHTTPServer:其他设备无法连接到服务器
【发布时间】:2016-05-18 18:48:34
【问题描述】:

最近我一直在使用 Python 来发现它的潜力,并且我偶然发现了 SimpleHTTPServer。

我使用的是 Windows 10。

我跑:

python -m SimpleHTTPServer

输出是:

Serving HTTP on 0.0.0.0 port 8000 ... 

我在智能手机和平板电脑上都打开了浏览器,但是当我输入“http://127.0.0.1:8000”时,它们都无法连接到服务器。

(从意大利语翻译,可能不是准确的翻译)

iPad:“Safari 无法打开页面,因为服务器已停止响应”

Android:“网页没有响应。该网页可能暂时不可用或可能已移至其他地址”

为什么它不起作用?我该如何解决这个问题?

【问题讨论】:

  • 你需要知道你的物理服务器的IP。打开powershell,输入ipconfig。您需要“以太网适配器本地连接”的 IPv4 地址
  • 例如,它可能是 192.168.1.195 这样的东西。

标签: python simplehttpserver


【解决方案1】:

也许您的防火墙阻止了对基于 python 的服务器的访问

试试这个:

  • 打开windows防火墙
  • 点击打开窗口左侧的“允许应用或功能...”
  • 在列表中搜索 python 并选中 private 和 public 框

它现在应该可以工作了

【讨论】:

  • 这也可能是一个问题,但可能不是。问题是 OP 正在尝试使用来自另一台设备的环回地址(127.0.0.1,又名0.0.0.0,又名localhost)。
  • 这对我有用。我已经允许 python 通过私有网络进行通信,结果它也需要能够在公共网络上进行通信。
  • 我也一样@theEpsilon
【解决方案2】:

127.0.0.1 始终是本地系统的 IP 地址(其关联的主机名是“localhost”)。换句话说,如果您在平板电脑或 Android 设备上键入 127.0.0.1:8000,该设备上的浏览器将尝试连接到在同一设备上运行的服务器,侦听端口 8000。您需要找出运行 Python 的计算机的 IP 地址,然后输入该地址。您可以在 Unix 上使用 ifconfig 命令,或在 Windows 上使用 ipconfig。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 2018-07-12
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-17
    相关资源
    最近更新 更多