Imgur API - Ошибка «Слишком много запросов», даже если «X-Ratelimit-Userremaining» не равно 0 - PullRequest
0 голосов
/ 29 марта 2019

Я загружаю изображения через Imgur API (https://apidocs.imgur.com/), но Я получаю «Слишком много запросов» (ошибка 429), даже если предыдущий запрос вернул «X-Ratelimit-Userremaining = 1216». Насколько я понимаю, я должен быть в состоянии сделать 1216 POST, прежде чем достигнуть ограничения скорости.

Edit:

Первый заголовок запроса (успех)

X-Ratelimit-Userlimit ,Value : [2000]
X-Post-Rate-Limit-Reset ,Value : [1099]
X-Ratelimit-Clientreset ,Value : [11017]
X-Ratelimit-Userreset ,Value : [3600]
X-Ratelimit-Userremaining ,Value : [1216]
X-Post-Rate-Limit-Remaining ,Value : [1244]
X-Ratelimit-Clientlimit ,Value : [12500]
X-Post-Rate-Limit-Limit ,Value : [1250]
X-Ratelimit-Clientremaining ,Value : [12248]
Content-Type ,Value : [application/json]

Заголовки второго запроса (ошибка, ограничение скорости):

X-Ratelimit-Userlimit ,Value : [2000]
X-Ratelimit-Clientreset ,Value : [10204]
X-Ratelimit-Userreset ,Value : [3600]
X-Ratelimit-Userremaining ,Value : [0]
X-Ratelimit-Clientlimit ,Value : [12500]
X-Ratelimit-Clientremaining ,Value : [12035]
Content-Type ,Value : [application/vnd.imgur.v1+json]

1 Ответ

0 голосов
/ 29 марта 2019

Пожалуйста, посмотрите на https://apidocs.imgur.com/#rate-limits, где вы найдете подробную информацию о конкретных ограничениях скорости API.

Imgur имеет несколько ограничений скорости, в том числе для каждого приложения и ограничения IP-адреса пользователя.Даже если у вас больше кредитов для пользовательских запросов, в приложении больше не будет кредитов, и это может привести к ограничению скорости для ваших запросов.

Каждый ответ с серверов Imgur содержит заголовки ограничения скорости, которые дадут вам большеподробности об ограничениях, которые вы устанавливаете.

Заголовки ограничения скорости, включенные в ответы (из документов Imgur API):

  • X-RateLimit-UserLimit - Всего кредитов, которые могут быть выделены.
  • X-RateLimit-UserRemaining - Всего доступных кредитов.
  • X-RateLimit-UserReset - Временная метка (эпоха Unix) для того, когда кредиты будут сброшены.
  • X-RateLimit-ClientLimit - Всего кредитов, которые могут бытьвыделено для заявки в день.
  • X-RateLimit-ClientRemaining - Общая сумма кредитов, оставшихся для заявки в день.
...