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

requests.get返回Traceback错误,求API数据拉取优化及代码排查

修复Fortnite Tracker API请求错误并优化数据拉取实现

嘿,我看了你的代码,问题其实很明确——你给requests.get传的headers格式不对,这直接触发了请求错误,咱们一步步来修复并优化它:

第一步:修正基础请求代码

requests库的get方法要求headers参数是字典类型,而你传了一个字符串,这就是报错的核心原因。同时咱们可以复用已经定义的url变量,避免重复写长URL,代码更整洁:

import requests

# 把配置参数集中放一起,后续修改更方便
API_KEY = "XXXXXXX"
URL = "https://api.fortnitetracker.com/v1/profile/pc/madmrmeeseeks"

# 正确的headers格式:键值对组成的字典
headers = {
    "TRN-Api-Key": API_KEY
}

try:
    # 复用已定义的URL变量,不用重复写一遍
    response = requests.get(URL, headers=headers)
    # 先检查请求是否成功(状态码200代表正常响应)
    response.raise_for_status()
    # API返回的是JSON数据,用json()解析成Python字典,比直接打印text更实用
    data = response.json()
    print(data)
except requests.exceptions.RequestException as e:
    # 捕获所有请求相关的异常,比如密钥无效、用户不存在、网络问题等
    print(f"请求出错啦:{e}")

第二步:更优的数据拉取方案建议

为了让代码更健壮、更易维护,给你几个实用的优化方向:

  • 封装成可复用函数:把平台、用户名、API密钥做成参数,这样想查其他用户时直接调用函数就行:
    def get_fortnite_profile(platform, username, api_key):
        # 用f-string拼接动态URL,灵活度更高
        url = f"https://api.fortnitetracker.com/v1/profile/{platform}/{username}"
        headers = {"TRN-Api-Key": api_key}
        try:
            response = requests.get(url, headers=headers)
            response.raise_for_status()
            return response.json()
        except requests.exceptions.RequestException as e:
            print(f"获取数据失败:{e}")
            return None
    
    # 调用示例,比如查你的账号
    my_profile = get_fortnite_profile("pc", "madmrmeeseeks", "XXXXXXX")
    if my_profile:
        # 举个例子,提取总击杀数(根据API返回的结构调整)
        total_kills = my_profile.get("lifeTimeStats", [{}])[0].get("value")
        print(f"你的总击杀数:{total_kills}")
    
  • 完善异常处理:上面的代码用了raise_for_status(),会在状态码异常时抛出错误(比如401代表密钥无效,404代表用户找不到),能帮你快速定位问题,而不是只得到一堆模糊的错误信息。
  • 安全存储API密钥:千万别把API密钥直接写在代码里!建议用环境变量来存储,比如:
    import os
    # 从系统环境变量中读取密钥
    API_KEY = os.getenv("FORTNITE_TRACKER_API_KEY")
    
    这样可以避免密钥不小心泄露到代码仓库或者分享给别人。
  • 按需解析数据:API返回的数据量通常很大,不用直接打印全部内容,可以根据需求提取特定字段,比如击杀数、胜率这些,让输出更清晰。

常见问题排查

如果修改后还是报错,先检查这几点:

  • 确认API密钥拼写正确,没有多余的空格或者字符
  • 确认用户名和平台(pc/psn/xbl)是正确的,别搞混了平台
  • 检查网络连接,确保你的环境能正常访问Fortnite Tracker的API地址

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:10:24