Last.fm의 API에 사용할 API 속도 제한기를 작성했습니다.API 속도 제한 기
Last.fm의 Tos는 초당 원래 IP 주소 당 5 개 이상의 요청을 만들 수는 없으며 5 분 동안 평균을 냈습니다.
public class RateLimiter
{
private static readonly List<DateTime> _requests = new List<DateTime>();
private const double _perMillisecond = 1000.1;
private const int _rateLimit = 5;
private const int _rateLimitCooldownMs = 500;
public static void CheckLimiter()
{
_requests.Add(DateTime.Now);
var requestsDuringRateLimit = _requests.Where(w => (DateTime.Now - w).TotalMilliseconds < _perMillisecond).ToArray();
if (requestsDuringRateLimit.Count() >= _rateLimit)
{
Thread.Sleep(_rateLimitCooldownMs);
_requests.Clear();
Console.Clear();
}
}
}
CheckLimiter
방법은 시작됩니다 HttpWebRequest
전에 호출되는 API 요청을 제한하는 좋은 방법은,이된다
여기에 내가 쓴 클래스는?
그래, 게시 한 직후에 알아 차 렸습니다 ... 감사합니다! :) – jjdev80