从网络访问我的网页时出错

时间:2016-09-06 13:47:55

标签: python flask hosting web-hosting host

我刚刚开始使用 Flask 学习网络开发。根据其官方教程:

  

外部可见服务器

     

如果您运行服务器,您会注意到服务器只是   可以从您自己的计算机访问,而不是从网络中的任何其他计   这是默认值,因为在调试模式下是用户的   应用程序可以在您的计算机上执行任意Python代码。

     

如果禁用了调试器或信任网络上的用户,   只需添加即可使服务器公开   --host=0.0.0.0到命令行:

flask run --host=0.0.0.0
     

这告诉您的操作系统要监听所有公共IP。

但是,当我尝试在其他设备上访问0.0.0.0:5000时,出现错误:ERR_CONNECTION_REFUSE。事实上,我认为这种行为是合理的,因为世界各地的人都可以使用0.0.0.0:5000进行不同的测试,但不是教程意味着添加--host=0.0.0.0可以使我的网页“不仅可以访问”你自己的电脑,也来自网络中的任何其他电脑“?

所以,我的问题是:

  1. 添加--host=0.0.0.0做什么?
  2. 当服务器在设备A上运行时,如何在设备B上访问我的网页?

1 个答案:

答案 0 :(得分:2)

转到0.0.0.0:5000,您无法访问另一台计算机上的Flask服务器。相反,您需要输入运行它的计算机的IP地址。

例如,如果您在具有IP地址10.10.0.1的计算机上进行开发,则可以像这样运行服务器:

flask run --host=0.0.0.0 --port=5000

这将启动服务器(在10.10.0.1:5000上)并从任何地方侦听任何连接。现在,您的其他设备(例如,在10.10.0.2上)可以通过转到浏览器中的http://10.10.0.1:5000来访问该服务器。

如果您没有host=0.0.0.010.10.0.1上的服务器将只侦听来自本身的连接(localhost)。通过添加该参数,您可以告诉它从外部连接进行监听。