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

调用OECD API时出现HTTP Error 403: Forbidden错误的求助

调用OECD API时出现HTTP Error 403: Forbidden错误的求助

哎,碰到这种403 Forbidden真的挺闹心的,我给你几个实际可行的排查方向,你挨个试试:

  • 给请求加个浏览器模拟头:很多公共API会拦截纯脚本发起的请求,因为默认请求头会暴露是代码调用。你可以用requests库先带自定义请求头获取内容,再传给pandas解析,代码改成这样:
import pandas as pd
from io import StringIO
import requests

url = 'https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_CLI/.M.LI...AA...H?startPeriod=2023-02&dimensionAtObservation=AllDimensions&format=csvfilewithlabels'
# 模拟Chrome浏览器的请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'
}
response = requests.get(url, headers=headers)
# 把响应内容转成pandas能读的格式
df = pd.read_csv(StringIO(response.text))

这种方式大概率能绕过简单的反爬拦截,我之前碰过好几个类似的403都是这么解决的。

  • 检查URL是否有隐形问题:有时候复制官方示例的URL时,可能会带隐形的特殊字符,或者参数编码不对。你可以试着手动拆解参数再重新拼接,确保每个参数都正确,比如把startPeriod、dimensionAtObservation这些参数单独列出来用requests的params参数传递,这样能自动处理编码问题:
import pandas as pd
from io import StringIO
import requests

base_url = 'https://sdmx.oecd.org/public/rest/data/OECD.SDD.STES,DSD_STES@DF_CLI/.M.LI...AA...H'
params = {
    'startPeriod': '2023-02',
    'dimensionAtObservation': 'AllDimensions',
    'format': 'csvfilewithlabels'
}
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/129.0.0.0 Safari/537.36'}
response = requests.get(base_url, params=params, headers=headers)
df = pd.read_csv(StringIO(response.text))
  • 排查IP或访问频率限制:哪怕文档说不需要密钥,公共API一般都会有访问频率限制,或者你的IP因为之前的多次请求被临时封禁了。可以试试换个网络(比如手机热点),或者隔个10分钟再发起请求,看看是不是这个原因。

  • 试试SDMX专用库:OECD的API是基于SDMX标准的,用专门的pandasdmx库调用会更贴合API规范,可能不会触发拦截。先安装pandasdmx,然后用下面的代码试试:

import pandasdmx as pdsdmx

# 初始化OECD请求对象
oecd = pdsdmx.Request('OECD')
# 拉取数据
data_response = oecd.data(
    resource_id='DF_CLI',
    key='.M.LI...AA...H',
    start_period='2023-02'
)
# 转成DataFrame
df = data_response.write(data_response.data, format='pandas')

这个库会自动处理请求头和参数格式,适配SDMX API的要求,成功概率更高。

备注:内容来源于stack exchange,提问作者Georgie Joy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.13 20:23:04