根据文件:https://www.instagram.com/developer/limits/
限速控制在"时间滑动"窗口,问题是:
剩余呼叫HTTP标头(x-ratelimit-remaining)秒的增加频率是多少?分钟?,一小时?
阅读文档。 "现场应用程序每个令牌5000 /小时" (我们的公司已经上线了),我假设一个频率限制器,每秒或每分钟计算,但经过几天尝试不同的策略,价值似乎没有任何可扣除的行为。
可能的答案(取决于它的编码方式)可能是:
(像频率限制器一样的滑动窗口)
(每小时充电的有限水槽)
剩下5000张,每次请求减1张信用 - 无论频率如何 - 自第一次请求过去1小时后:它回到5000
由于令牌用于执行第一次请求,因此每1小时计数更新为5000次。
每个请求可以减免1个积分,并且会在固定时间内达到5000,例如在12:00,13:00,14:00,15:00 ......
我使用的是jInstagram 1.1.7。
答案 0 :(得分:0)
经过大量测试...... 我有一些临时的结论......
从5000开始,如果你以统一的速率(720ms / req)获取,你会在50分钟时达到500,那么Instagram将开始以低于500的分数给你信用。所以在60分钟你&#39剩下150个剩余电话,Instagram将给你另一个信用部分,一般达到500平均。然后再次下降......
如果你停止消费,就像30分钟的aprox。你将再获得5000个学分。
此外,他们还会为您提供5000个剩余电话,他们似乎有通过IP索引的计数器,如果您使用相同的凭据从不同的IP发出请求,他们就会忽略其他人。
除此之外,Instagram还有许多错误,它们为每个HTTP请求响应的x-ratelimit-remaining HTTP标头保持一致的值。 它看起来与某些重写相关,并且在复制最后一个值的服务器之间存在某种竞争。
对你的Instagram感到羞耻,我花了很多时间让我的酷限制算法适应你的错误行为,假设你有很好的工程设计!
请修理它们,这样我们就可以与你公平对待,而不是玩捉迷藏,隐形技巧..