@shirley.vonrueden
Для асинхронной проверки прокси в Python можно использовать библиотеку aiohttp. Вот пример кода:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
import asyncio import aiohttp async def check_proxy(proxy): try: async with aiohttp.ClientSession() as session: async with session.get('https://www.example.com', proxy=proxy, timeout=10) as response: if response.status == 200: print(f'{proxy} is working') else: print(f'{proxy} is not working') except: print(f'{proxy} is not working') proxies = [ 'http://ip1:port1', 'http://ip2:port2', 'http://ip3:port3', # добавьте сюда остальные прокси, которые хотите проверить ] loop = asyncio.get_event_loop() tasks = [check_proxy(proxy) for proxy in proxies] loop.run_until_complete(asyncio.wait(tasks)) |
Пример выше проверяет прокси на работоспособность, отправляя GET-запрос на example.com через каждый прокси. Если получен ответ с кодом 200, то прокси считается рабочим. Если возникает какая-либо ошибка во время запроса, прокси считается нерабочим. Прокси необходимо указывать в формате http://ip:port
или https://ip:port
.
Обратите внимание, что в коде используется aiohttp версии 3.x. Если вы используете версию 4.x, то код может отличаться немного.