from swiftshadow.classes import Proxy from requests import get, exceptions def get_proxy(): proxies = {} max_retries = 10 # Maximum number of attempts to find a valid proxy attempts = 0 while attempts < max_retries: try: proxy = Proxy( autoRotate=True, cachePeriod=3, ).proxy() proxies = { 'http': proxy[0], 'https': proxy[0] } resp = get('https://checkip.amazonws.com', proxies=proxies, timeout=10) ip_address = resp.text.strip() if ip_address == proxy[0].split(':')[0]: print(f"Valid proxy found: {proxy[0]}") return proxies else: print(f"Proxy {proxy[0]} did not match the response IP ({ip_address}). Retrying...") except exceptions.RequestException as e: print(f"Error testing proxy: {e}. Retrying...") attempts += 1 raise Exception("Failed to find a valid proxy after multiple attempts.")