You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Flask端点使其可被同网络其他计算机访问?

解决Flask端点允许同网络其他计算机访问的问题

要让同网络中的设备访问你的Flask端点,需要完成以下几个关键配置:

1. 修改Flask的绑定地址

Flask默认仅绑定127.0.0.1(本机回环地址),因此只能本机访问。你需要将其绑定到0.0.0.0,这样服务会监听所有可用的网络接口。

方式一:在代码中指定

在你的代码末尾添加app.run()并指定host参数:

from flask import Flask, request, jsonify
import requests

app = Flask(__name__)

countries = [
    {"id": 1, "name": "Thailand", "capital": "Bangkok", "area": 513120},
    {"id": 2, "name": "Australia", "capital": "Canberra", "area": 7617930},
    {"id": 3, "name": "Egypt", "capital": "Cairo", "area": 1010408},
]

@app.get("/countries")
def get_countries():
    return jsonify(countries)

# 新增配置:绑定所有网络接口,端口保持5000
if __name__ == "__main__":
    app.run(host='0.0.0.0', port=5000)

方式二:通过命令行启动时指定

如果使用flask run命令启动服务,直接添加--host参数:

# Windows系统设置环境变量
set FLASK_APP=你的文件名.py
# Linux/macOS系统设置环境变量
export FLASK_APP=你的文件名.py

# 启动服务并绑定所有网络接口
flask run --host=0.0.0.0

2. 开放防火墙端口

运行Flask的机器防火墙会默认阻止外部设备访问5000端口,需要手动允许:

  • Windows:打开「Windows Defender防火墙」→「高级设置」→「入站规则」→「新建规则」,选择端口类型,允许5000端口的TCP连接。
  • Linux:以ufw为例(Ubuntu/Debian系列),执行以下命令开放端口:
    sudo ufw allow 5000/tcp
    sudo ufw reload
    
  • macOS:打开「系统设置」→「网络」→「防火墙」→「选项」,添加Python程序或手动开放5000端口。

3. 其他设备的访问方式

其他同网络设备需要通过运行Flask机器的局域网IP地址访问,避免使用电脑名称(名称解析可能存在异常):

  • 获取局域网IP:
    • Windows:执行ipconfig,找到对应网络适配器下的IPv4地址(如192.168.1.100)。
    • Linux/macOS:执行ifconfig或ip addr,找到对应网络接口的IPv4地址。
  • 访问示例:http://192.168.1.100:5000/countries

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 12:34:50