如何从其他Python应用中访问Flask REST API的接口方法
在Python应用中调用自有REST API的方法
第一步:确定接口调用URL
你的调用URL由三部分拼接而成:
服务地址 + 端口号 + 接口路由
- 本地开发测试时,服务地址默认为
127.0.0.1,端口号是你启动API服务时设置的端口(比如Flask默认5000,Django默认8000,FastAPI默认8000) - 部署到服务器后,服务地址替换为服务器公网IP或绑定的域名,端口号对应调整为部署时开放的端口,如果你配置了反向代理隐藏端口,可直接省略端口部分
- 接口路由就是你编写REST API时定义的路径,比如你写的用户查询接口路由是
/api/v1/user/query,最终本地测试的调用URL就是http://127.0.0.1:5000/api/v1/user/query
第二步:Python侧调用实现
推荐使用requests库完成接口调用,操作简单易用:
- 先安装依赖
pip install requests - 常见请求示例
GET请求示例
import requests # 替换为你自己的接口URL api_url = "http://127.0.0.1:5000/api/v1/user/query" # 查询参数,按需添加 query_params = {"user_id": 1001} # 接口如果需要鉴权,把token等校验信息放在请求头中 headers = {"Authorization": "Bearer 你的接口鉴权token"} response = requests.get(api_url, params=query_params, headers=headers) # 获取JSON格式返回结果 result = response.json() print(result)
POST请求示例(传JSON格式参数)
import requests api_url = "http://127.0.0.1:5000/api/v1/user/add" # 请求体参数 post_data = {"username": "test", "phone": "13xxxxxxxxx"} headers = { "Content-Type": "application/json", "Authorization": "Bearer 你的接口鉴权token" } response = requests.post(api_url, json=post_data, headers=headers) # 校验请求状态 if response.status_code == 200: print("调用成功:", response.json()) else: print("调用失败,状态码:", response.status_code, "错误信息:", response.text)
调用失败排查要点
- 确认你的REST API服务处于正常运行状态,没有端口冲突、进程崩溃问题
- 核对调用URL的路由和API定义的路由完全一致,注意大小写、末尾是否带斜杠的差异
- 接口如果设置了鉴权、跨域等限制,需要在请求中携带对应的校验信息
- 跨设备/服务器调用时,确认对应端口的防火墙、安全组规则已经开放访问权限
内容的提问来源于stack exchange,提问作者Awky Richard
相关产品推荐
相关产品推荐

