首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >调用3-4搜索API后,GitHub阻塞我的访问令牌。

调用3-4搜索API后,GitHub阻塞我的访问令牌。
EN

Stack Overflow用户
提问于 2022-01-28 20:44:19
回答 3查看 718关注 0票数 1

我正在使用PyCurl调用GitHub搜索API并提取一些信息。下面是调用API的代码片段。

代码语言:javascript
复制
from io import BytesIO
import pycurl

url = f"https://api.github.com/search/code?q=import%2Bkeras+size:1..100+language:python&page=1&per_page=100"
output = BytesIO()
request = pycurl.Curl()
request.setopt(pycurl.HTTPHEADER, [f'Authorization: token {access_token}'])
request.setopt(request.URL, url)
request.setopt(request.WRITEDATA, output)
request.perform()

问题是,GitHub只在3-4次请求之后阻塞了我的访问令牌。但是在GitHub文档中,每小时5000次请求被提到是对请求数量的限制。我正在使用Python 3.8PyCurl 7.44.1。你有办法解决这个问题吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2022-01-31 21:09:42

最后,我在每个API请求之间增加了5秒的睡眠时间,问题已经解决了。

谢谢你的贡献。

票数 0
EN

Stack Overflow用户

发布于 2022-01-28 20:55:40

“Search API有一个自定义的利率限制,与其他rest的利率限制分开”

您可以检查您的利率限制状态如下:

代码语言:javascript
复制
curl \
  -H "Accept: application/vnd.github.v3+json" \
  https://api.github.com/rate_limit
票数 1
EN

Stack Overflow用户

发布于 2022-01-28 23:53:51

GitHub对搜索请求有不同的速率限制,因为它们比普通的API调用要昂贵得多。您可以在端点https://api.github.com/rate_limit查询它们。

然而,在你的例子中,你看到的是二级利率限制,这意味着你正在做的事情看起来可疑,并且因为这个原因你被阻止了。唯一能找出原因的方法是联系GitHub支持。

我将指出,使用唯一的标识User-Agent头以便将您的流量与其他通信量区分开来是一种最佳实践。这可能有帮助,也可能没有帮助,但libcurl是一个非常常见的用户代理,而且由于会有相当多的人将其用于滥用目的,因此您的流量可能会被自动系统标记。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70900097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档