2017-09-26 49 views
0

我使用下面的语句运行烧瓶API:如何在另一个系统上访问本地系统上运行的Flask API?

app.run(host='0.0.0.0', threaded=True, use_reloader=False) 

我的系统IP是:10.0.0.1,我的WIFI现在。

的API通过以下网址是本地系统访问:

127.0.0.1:5000/api/version/search/?text='search' 

或通过如下:

10.0.0.1:5000/api/version/search/?text='search' 

现在我已经通过WIFI相同的网络连接和其他系统正在尝试访问该API通过URL:

10.0.0.1:5000/api/version/search/?text='search' 

但是它说:10.0.0.1 refused to connect
因此,我尝试这样做:

0.0.0.0:5000/api/version/search/?text='search' 

但我仍得到了同样的错误:0.0.0.0 refused to connect

请让我知道我可以通过访问同一个WiFi的API另一个系统上连接?

在主机参数(在运行功能)
+0

我猜你会在这里需要的端口转发。但不知道。 – MrPyCharm

+0

端口转发?为什么这样?如果我在同一个网络中,那么为什么需要它。你能告诉我什么我需要做端口转发吗? –

+0

中间是否有防火墙?你可以ping另一台机器吗?那是在一个VPN? – syntonym

回答

0

设置IP本地网络中的例子:

app.run(host='192.168.1.100', threaded=True, use_reloader=False) 

您可以使用在Linux ifconfig命令(或ip addr命令),或在Windows中使用ipconfig获得你的IP。

+1

但是我想知道IP设置为'0.0.0.0'就应该可以在任何地方使用......你说什么? –

+0

对不起..我试过你的答案..它根本不工作。 –

+0

甚至,我想合成词是正确的.. ICMP过滤器问题可能在那里,因为我无法ping IP。 –

0

这似乎是我的防火墙问题。需要在防火墙允许的端口之间设置Port 5000。既然你在主机上运行Ubuntu,请尝试以下命令:

sudo ufw allow 5000

如果不工作,你需要设置iptables规则

相关问题