Python Can';无法连接到Flask web服务,连接被拒绝

Python Can';无法连接到Flask web服务,连接被拒绝,python,flask,Python,Flask,我正在尝试在Raspberry Pi和Flask上运行一个简单的web服务器。当我运行Flask应用程序时,它会显示: 继续 但当我用Chrome在我的笔记本电脑上输入这个地址时,我得到了 错误连接被拒绝 我可以在Raspberry Pi的浏览器上打开127.0.0.1:5000。要从另一台计算机连接,我需要做什么?您必须运行开发服务器,使其能够侦听所有接口上的请求,而不仅仅是本地接口上的请求 要求Flask收听0.0.0.0:端口号 或者您可以选择的任何其他端口运行应用程序,如下所示: if

我正在尝试在Raspberry Pi和Flask上运行一个简单的web服务器。当我运行Flask应用程序时,它会显示:

继续

但当我用Chrome在我的笔记本电脑上输入这个地址时,我得到了

错误连接被拒绝


我可以在Raspberry Pi的浏览器上打开127.0.0.1:5000。要从另一台计算机连接,我需要做什么?

您必须运行开发服务器,使其能够侦听所有接口上的请求,而不仅仅是本地接口上的请求

要求Flask收听
0.0.0.0:端口号


或者您可以选择的任何其他端口运行应用程序,如下所示:

if __name__ == '__main__':
    app.run(host='0.0.0.0')

它将使服务器更安全。如果机器的IP地址是
192.168.X.X
,那么您可以从同一网络的5000端口访问它。例如,

当您通过
flask run
运行服务器时,将其更改为
flask run--host=0.0.0

若要进行连接,请查找运行脚本的服务器的IPV4地址。在同一网络上,转到
http://[IPV4地址]:5000

原因也可能是防火墙拒绝端口5000上的传入连接。尝试:

sudo ufw allow 5000
如果您以这种方式运行应用程序,那么您的服务器将在外部可见。 Setp的步骤:

  • 使用以下命令运行应用程序

    应用程序运行(主机=0.0.0.0',端口=5000)

  • 转到窗口cmd。键入ipconfig并获取IPV4地址,假设您的IPV4地址为192.168.X.X

  • 转到移动浏览器并键入192.168.X.X:5000


  • 如果您的
    app.run()
    中有
    debug=True
    ,则其他计算机也不会看到它。在
    app.run()中指定主机和端口,而不使用
    debug=True

    • 两个设备必须连接到同一网络
    • 使用
      app.run(host='0.0.0',port=5000)
      并使用您自己的Ipv4运行 像他的Ipv4地址一样的地址:5000
    • 如果你正在连接android应用程序,那么别忘了 将INTERNET权限放入清单文件

    127.0.0.1是本地主机地址,只能从raspi访问。为了从笔记本电脑获得访问权限,请打开raspi上的终端,然后尝试使用
    ifconfig
    中的ip看起来应该类似于192.168.0.XX:5000。这假设它们都在同一个本地网络上。@jm\uuuuuuuuuuucode>ifconfig
    返回192.168.1.103,我尝试了
    :5000
    ,但连接仍然被拒绝。是的,如果您想从同一台机器访问应用程序,请使用
    http://127.0.0.1:5000
    对于那些想知道如何使用socketio实现这一点的人来说,仍然值得思考:socketio.run(app,host='0.0.0.0')出于某种原因
    flask run--host=0.0.0
    可以工作,但
    app.run(host='0.0.0',port=5000)
    烧瓶运行
    在Windows上不运行。@Sankalp我对您的问题的推断是,当您运行
    烧瓶运行
    时,
    名称
    不是
    “\uuuuuuuu main”
    。因此,服务器会启动,但不会按照您在
    app.run()
    中传递的参数启动。在
    flask run--host=0.0.0.0
    中,主机是显式指定的。@Sankalp另一种方法是运行
    python.py
    -这将使用您提供的参数运行服务器(为什么?原因很简单,因为这次
    \uu name\uuuuuuuuuuuu
    '\uuuuuu main\uuuuuuu'
    )由于某种原因,
    flask run--host=0.0.0.0
    可以运行,但是
    app.run(host=0.0.0',port=5000)
    flask run
    在Windows上不运行。@Sankalp谢谢!就是这个,谢谢!为什么我必须使用IPv4地址而不使用localhost地址?@AlexF我无法证明这一点,因为我不是flask开发人员。但是当我在项目中工作的时候,这个配置对我很有效。非常感谢!这个小细节几乎毁了我的一天:这是不对的。在调试模式下运行的应用程序可以被网络上提供的其他计算机看到
    host='0.0.0'
    ,与此问题的其他答案相同Raspberry Pi没有
    ufw
    嗨,我仍然有相同的问题。尽管我尝试了将所有ipv4地址都添加到127.0.0.1、0.0.0.1、localhost所有内容中。。仍然无法将Flutter连接到localhost:/上的flask后端。你能告诉我怎么解决这个问题吗?
    app.run(host='0.0.0.0',port=5000)