import requests # 初始化cookie列表 cookies = [ {'cookie': 'cookie1'}, {'cookie': 'cookie2'}, {'cookie': 'cookie3'}, {'cookie': 'cookie4'}, {'cookie': 'cookie5'}, {'cookie': 'cookie6'}, {'cookie': 'cookie7'}, {'cookie': 'cookie8'}, {'cookie': 'cookie9'}, {'cookie': 'cookie10'} ] # 初始化超时计数器 timeout_count = {cookie['cookie']: 0 for cookie in cookies} def make_request(cookie): try: response = requests.get('http://example.com', cookies=cookie, timeout=5) response.raise_for_status() return response except requests.exceptions.Timeout: return 'timeout' except requests.exceptions.RequestException as e: print(f"Request failed: {e}") return 'error' def main(): global cookies, timeout_count for i in range(100): if not cookies: print("No more cookies available.") break all_cookies_failed = True for j in range(len(cookies)): current_cookie = cookies[(i + j) % len(cookies)] result = make_request(current_cookie) if result == 'timeout': timeout_count[current_cookie['cookie']] += 1 print(f"Timeout for {current_cookie['cookie']}, count: {timeout_count[current_cookie['cookie']]}") if timeout_count[current_cookie['cookie']] >= 3: print(f"Removing {current_cookie['cookie']} from the pool.") cookies = [c for c in cookies if c != current_cookie] del timeout_count[current_cookie['cookie']] elif result == 'error': print(f"Error for {current_cookie['cookie']}") else: print(f"Request {i+1} successful with {current_cookie['cookie']}") timeout_count[current_cookie['cookie']] = 0 # Reset timeout count on success all_cookies_failed = False break if all_cookies_failed: print(f"All cookies failed for request {i+1}. Skipping to the next request.") if __name__ == "__main__": main()