【发布时间】:2021-10-06 11:11:55
【问题描述】:
我正在尝试使用 Ruby 从 subreddit 中获取一些 JSON 数据;但它失败了,返回一个 429 错误。
begin
request = URI.open(
'https://www.reddit.com/r/vintageobscura.json',
{
"User-Agent"=>"web:myapp:v1.0.0 (by /u/myusername)"
}
);
rescue OpenURI::HTTPError => error
response = error.io
raise StandardError.new sprintf('Error while opening document: %s',response.status)
#puts response.string
end
end
当我在浏览器中加载 URL 时它可以工作;如您所见,我根据他们的API rules 定义了一个用户代理。
知道失败的原因吗?
非常感谢!
【问题讨论】:
-
429 表示“请求过多”——您可能超出了他们的速率限制。监控 API 规则中提到的
X-RatelimitHTTP 标头。 -
@Stefan 不确定这是不是问题,因为它可以在我的浏览器中运行...?
-
X-Ratelimit标头说什么,您是否超出限制? -
很抱歉,我该如何检查呢?
标签: json ruby api reddit http-status-code-429