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

使用Python Wrapper调用Chess.com API时触发403错误求助

解决Chess.com API wrapper调用get_leaderboards返回403的问题

问题分析

调用chessdotcom库的get_leaderboards函数时返回403状态码,响应提示"Enable JavaScript and cookies to continue",本质是Chess.com的API拦截了无浏览器标识的请求,将其判定为非合法客户端请求。

解决方案

通过给库配置自定义请求头,模拟浏览器的请求标识即可解决:

  1. 创建带有浏览器User-Agent的requests.Session
  2. 将该session配置到chessdotcom的全局设置中

修改后的代码示例:

from chessdotcom import get_leaderboards, config
import requests

# 配置模拟浏览器的请求头
custom_session = requests.Session()
custom_session.headers.update({
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
})

# 替换库默认的session
config.session = custom_session

def print_leaderboards():
    try:
        data = get_leaderboards().json
        print("Success!")
        # 可添加打印数据的逻辑
        # print(data)
    except Exception as e:
        print(f"错误详情: {e}")

print_leaderboards()

补充说明

  • 可以根据自己常用的浏览器调整User-Agent的值,只要是标准的浏览器标识即可
  • 如果后续仍出现403,可尝试在请求头中添加Accept-Language等其他浏览器常用字段

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 17:05:53