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

如何使用Python的requests包通过API key调用REST API获取返回数据

完整Python调用REST API实现方案

基础单页拉取实现

import requests

# 配置项,请替换为你的实际参数
API_KEY = "你的官方分配API密钥"
API_ENDPOINT = "https://www.api_url.com/api/dispute"

def fetch_dispute_page(page: int = 1, limit: int = 10):
    # 构造身份校验请求头,对应curl命令中的-H参数
    headers = {
        "Authorization": API_KEY
    }
    # 构造分页查询参数
    params = {
        "page": page,
        "limit": limit
    }
    try:
        response = requests.get(API_ENDPOINT, headers=headers, params=params)
        # 校验请求是否成功,4xx、5xx状态码会直接抛出异常
        response.raise_for_status()
        # 直接解析返回的JSON数据为Python原生结构
        return response.json()
    except requests.exceptions.RequestException as e:
        print(f"接口请求失败: {str(e)}")
        return None

# 调用示例:拉取第1页,每页5条数据
if __name__ == "__main__":
    dispute_page = fetch_dispute_page(page=1, limit=5)
    if dispute_page:
        print("当前页dispute数据:", dispute_page)

代码说明

  • 你之前编写的代码仅请求了API根域名,没有指向/api/dispute接口路径,也没有携带身份校验头,所以无法获取到目标数据
  • 请求头中的Authorization字段对应官方curl示例的-H参数,填入你自己的API密钥即可完成身份验证
  • page和limit为可选参数,limit的取值范围为1~100,可根据你的分页需求自行调整
  • 代码内置了异常捕获逻辑,可直接识别权限错误、网络异常、接口返回错误等常见问题,方便排查
  • 接口返回的JSON会直接解析为Python字典/列表格式,可直接对返回结果进行后续业务处理

全量数据批量拉取实现

如果需要拉取所有dispute数据,可使用以下自动分页逻辑,无需手动逐页调用:

def fetch_all_disputes(per_page_limit: int = 100):
    all_disputes = []
    current_page = 1
    while True:
        page_data = fetch_dispute_page(page=current_page, limit=per_page_limit)
        # 无返回数据时终止循环,这里的字段要匹配接口实际返回结构:
        # 若接口直接返回dispute数组,就把page_data.get("data")替换为page_data
        if not page_data or not page_data.get("data"):
            break
        all_disputes.extend(page_data["data"])
        # 当前页返回数据量小于分页限制,说明已经到最后一页
        if len(page_data["data"]) < per_page_limit:
            break
        current_page += 1
    return all_disputes

# 调用示例
if __name__ == "__main__":
    all_data = fetch_all_disputes()
    print(f"共拉取到{len(all_data)}条dispute记录")

注意:上述代码中page_data.get("data")需要根据你接口实际返回的JSON结构调整,如果接口直接返回dispute数组,不需要取data字段,直接判断page_data即可


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 02:36:02