You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

本地无法访问Flask应用URL,报ERR_ADDRESS_INVALID错误求助

解决Flask应用本地访问0.0.0.0:9696报错的问题

看到你遇到了这个错误:

"This site can’t be reachedThe webpage at http://0.0.0.0:9696/ might be temporarily down or it may have moved permanently to a new web address. ERR_ADDRESS_INVALID"

别担心,这个问题很常见,我来帮你快速解决!

核心原因

你代码里设置的host='0.0.0.0'是服务器端的配置,它的作用是让Flask监听所有可用的网络接口(比如同一局域网里的其他设备也能访问你的应用),但0.0.0.0并不是一个可以直接在浏览器输入的有效访问地址——浏览器无法解析这个地址,所以才会报错。

立刻解决的方法

把浏览器里的地址改成下面任意一个即可:

  • http://localhost:9696/
  • http://127.0.0.1:9696/

这两个地址都是标准的本地回环地址,浏览器能直接识别并访问到你本地运行的Flask应用。

额外的性能优化建议

看了你的代码,发现每次收到请求时都会重新加载一次模型文件,这会导致响应变慢,还会浪费IO资源。建议把模型加载的代码移到路由外面,在应用启动时只加载一次:

import pickle
from flask import Flask, request, jsonify
from model_files.ml_model import predict_mpg

app = Flask("mpg_prediction")

# 应用启动时加载模型,全局复用
with open('./model_files/mpg_model.bin', 'rb') as f_in:
    mpg_model = pickle.load(f_in)

@app.route('/', methods= ['POST'])
def predict():    
    vehicle_configuration = request.get_json()
    predictions = predict_mpg(vehicle_configuration, mpg_model)
    response = {'mpg_predictions': list(predictions) }
    return jsonify(response)

if __name__ == '__main__':
    app.run(debug= True , host= '0.0.0.0' , port=9696)

这样修改后,你的应用响应速度会明显提升,也避免了重复读取文件的操作。

内容的提问来源于stack exchange,提问作者Uthman

火山引擎 最新活动