Flask服务器设置host:0.0.0.0后外部依然无法访问问题

        Python编写简单微框架基础代码时遇到 host修改成0.0.0.0外部依旧无法访问问题

        正常使用flask服务时默认是部署在本地的 地址也就是 https://127.0.0.1:5000/

        127.0.0.1表示是 本地IP 想要在同一网段下访问必须设置host=0.0.0.0才不受IP限制

正常情况下是这样的:点击https://127.0.0.1:5000/即可从本机访问。

from flask import Flask
​
app = Flask(__name__)
​
​
@app.route('/')
def hello_world():  # put application's code here
    return 'Hello World!'
​
​
if __name__ == '__main__':
    app.run()

异常情况下:

from flask import Flask
​
app = Flask(__name__)
​
​
@app.route('/')
def hello_world():  # put application's code here
    return 'Hello World!'
​
​
if __name__ == '__main__':
    app.run(host="0.0.0.0")  # 设置 host 为 0.0.0.0 (同一网段IP访问不受限制)
    

结果依然为下图所示,和上图无变化 所以设置的host无效(如果有效,则无需第二种解决方案)

解决方案:

经过Pycharm启动flask项目很容易出现这种情况,所以直接设置pycharm运行flask项目时候的配置

解决如下:打开 运行 编辑配置

修改其他选项 默认其他选项是没有任何数据的。

--host=0.0.0.0

继续确定后运行即可解决问题。 pycharm如果没有汉化 英文顺序为:run里打开 edit configurations 设置additional options


如果修改后运行发现仍旧是旧结果。

我们修改配置后添加了host后 pycharm直接默认添加了一整个配置

所以需要移除旧配置(这里移除的是Flask(app.py)运行即可。运行后 就会发现新生成的ip变了。在同一网段下其他设备也可以访问了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐