PythonAPI接口调用_REST实践说明【指导】

调用Python REST API的核心是使用requests库发送HTTP请求并妥善处理参数、响应与错误;需安装requests,用params传URL参数、json传JSON数据、data传表单,设headers认证,检查status_code和raise_for_status(),捕获JSON解析异常,设置timeout,敏感信息从环境变量读取,并推荐封装带Session的客户端类。

调用 Python 中的 REST API,核心是用 requests 库发送 HTTP 请求,正确处理请求参数、响应数据和常见错误。

准备环境与基础请求

确保已安装 requests:运行 pip install requests。最简 GET 请求示例如下:

  • 导入库:import requests
  • 发起请求:response = requests.get("https://httpbin.org/get")
  • 检查状态:if response.status_code == 200: 再处理数据
  • 获取 JSON 响应:data = response.json()(前提是返回的是合法 JSON)

传参方式要匹配接口要求

不同参数位置对应不同 HTTP 习惯,不能混用:

  • URL 参数(query string):用 params 字典,如 requests.get(url, params={"page": 1, "limit": 10}) → 自动拼成 ?page=1&limit=10
  • 请求体(JSON):POST/PUT 时常用,用 json= 参数(自动序列化 + 设 Content-Type: application/json
  • 表单数据(x-www-form-urlencoded):用 data= 传字典,不加 json=
  • 请求头(Headers):如认证需加 headers={"Authorization": "Bearer xxx"}

处理响应与常见异常

别只靠 response.status_code 判断成功,还要关注业务逻辑返回码和网络稳定性:

  • 始终检查 response.raise_for_status() 可快速抛出 HTTP 错误(4xx/5xx)
  • 对 JSON 接口,用 try...except ValueError: 捕获解析失败(空响应或非 JSON 内容)
  • 设置超时:requests.get(url, timeout=5),避免请求无限挂起
  • 敏感字段(如 token)不要硬编码,建议从环境变量读取:os.getenv("API_TOKEN")

封装成可复用的客户端类

项目中多次调用同一 API 时,推荐封装基础 Client:

  • 初始化时传入 base URL 和默认 headers(含认证)
  • 提供 get()post() 等方法,统一处理重试、日志、错误映射
  • 示例片段:def post(self, endpoint, json=None, data=None): return self.session.post(f"{self.base}{endpoint}", json=json, data=data)
  • requests.Session() 复用连接,提升批量请求性能