使用python从我的手机访问本地web服务器

使用python从我的手机访问本地web服务器,python,server,Python,Server,我正在为web开发,我有一个。对于本地测试,我通常这样做 python3 -m http.server 然后在我的浏览器上转到localhost:8000。这太棒了 然后我在互联网上读到,我可以计算出我的专用IPv4 IP地址(10.0.0.101,按照ipconfig)并运行 在手机浏览器上访问我的网站 当我这样做的时候,我会得到一个“无法访问此站点(错误连接超时)” 我的网络配置 在ISP调制解调器和设备之间,我有一个路由器(D-Link DIR-815)。以太网电缆将路由器连接到我的台

我正在为web开发,我有一个。对于本地测试,我通常这样做

python3 -m http.server
然后在我的浏览器上转到
localhost:8000
。这太棒了

然后我在互联网上读到,我可以计算出我的专用IPv4 IP地址(10.0.0.101,按照
ipconfig
)并运行

在手机浏览器上访问我的网站

当我这样做的时候,我会得到一个“无法访问此站点(错误连接超时)”


我的网络配置

在ISP调制解调器和设备之间,我有一个路由器(D-Link DIR-815)。以太网电缆将路由器连接到我的台式计算机,我的手机通过Wi-Fi连接


我尝试过的

我已经尝试了下面的所有项目以及它们之间的许多组合(但不太可能是所有组合,因为它们太多了)

  • 在Bluestacks模拟器中使用chrome
  • 在我的路由器上转发端口8000并使用
    :8000
  • 为8000端口(TCP和UDP)添加防火墙例外
  • 在我的桌面浏览器上使用
    10.0.0.101:8000
    • 我这样做只是为了测试,这让我很惊讶 没用
  • 在我的桌面浏览器上使用
    127.0.0.1:8000
    (仅用于测试)
    • 那没用。这对我来说是一个更大的惊喜

问题

我错过了什么?为什么我不能从手机访问本地主机

我读过很多问题,包括其中包含了很多答案,是谷歌搜索结果的第一名。Bug这件事既是为了简单使用python,也是为了我的教育,我想知道如何在不安装像XAMPP这样更复杂的解决方案的情况下做到这一点

附言:

  • 我也知道这是可能的,因为它显示在中
  • 我在路由器中仔细检查了我的专用IPv4 IP(
    dlinkrouter.local

  • 你的路由器不应该和它有任何关系,因为它不应该影响你的私人网络(10.0.0.X)内部的情况。我有一个主意。我正在仔细查看您所有的优秀信息,看看您是否排除了我的想法……我希望
    127.0.0.1:8000
    在任何情况下都能正常工作,但可能发生的情况是,您的服务器只在环回接口上侦听,而不是您的NIC卡。你知道我在说什么吗?解决此问题的标准方法是显式侦听地址
    0.0.0.0
    。这意味着“监听所有接口”。你知道你在做什么吗?我看不到任何能告诉我这两种情况的东西,尽管我可能错过了。(您在上面给出的“this one”链接中提到了这一点,但有一点是错误的。)服务器将根据其设置监听某些接口。有时,为了安全起见,默认情况下只侦听环回接口,因此只接受来自同一台机器的连接。这是通过监听“localhost”或“127.0.0.1”完成的。收听“0.0.0.0”收听所有内容。有些奇怪的是,监听您的公共IP会使“localhost”和“127.0.0.1”停止工作,并让您键入自己的IP地址。您使用什么框架作为web主机?这可能是该系统上的一种配置。啊哈……这正是Flask的问题/解决方案(作为一个例子,即使您没有使用Flask):哦,看。Python的标准库中有一个web服务器。我想这并不奇怪。我已经做了很多年的Python weenie,但我从未真正注册过。-看看这些文件,很明显我所想的可能是问题所在……其实不是。文档清楚地说“默认情况下,服务器绑定到所有接口”。因此,如果您没有覆盖默认行为,您的服务器应该侦听来自外部世界的连接。这意味着你的私人网络上的任何东西都应该能够连接。奇怪。
    10.0.0.101:8000