|  |  | 
 |  |  |  | 
 |  |  |     static HttpsClient() | 
 |  |  |     { | 
 |  |  |         // 设置定时器,每10分钟清理一次requestTracker的数据 | 
 |  |  |         cleanupTimer = new Timer(10 * 60 * 1000); | 
 |  |  |         // 设置定时器,每5分钟清理一次requestTracker的数据 | 
 |  |  |         cleanupTimer = new Timer(2 * 60 * 1000); | 
 |  |  |         cleanupTimer.Elapsed += CleanupRequestTracker; | 
 |  |  |         cleanupTimer.AutoReset = true; | 
 |  |  |         cleanupTimer.Enabled = true; | 
 |  |  | 
 |  |  |         // 检查请求次数和时间限制 | 
 |  |  |         if (requestTracker.TryGetValue(requestKey, out var requestInfo)) | 
 |  |  |         { | 
 |  |  |             if (requestInfo.Count >= 5 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(3)) | 
 |  |  |             if (requestInfo.Count >= 10 && DateTime.Now < requestInfo.LastRequestTime.AddMinutes(2)) | 
 |  |  |             { | 
 |  |  |                 // 如果请求次数超过限制且未超过10分钟,抛出异常 | 
 |  |  |                 Console.WriteLine("请求次数已达到限制,请稍后再试。"); | 
 |  |  | 
 |  |  |         { | 
 |  |  |             requestTracker[requestKey] = (1, DateTime.Now); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         // 记录请求参数 | 
 |  |  |         LogRequestParameters(parameters, url); | 
 |  |  | 
 |  |  |         DateTime now = DateTime.Now; | 
 |  |  |  | 
 |  |  |         // 遍历并清理requestTracker中超过10分钟的记录 | 
 |  |  |         var keysToRemove = requestTracker.Keys.Where(key => now > requestTracker[key].LastRequestTime.AddMinutes(10)).ToList(); | 
 |  |  |         var keysToRemove = requestTracker.Keys.Where(key => now > requestTracker[key].LastRequestTime.AddMinutes(2)).ToList(); | 
 |  |  |  | 
 |  |  |         foreach (var key in keysToRemove) | 
 |  |  |         { |