Загрузка...

Чекеры ******

Тема в разделе Python создана пользователем beta 1 мар 2025. 98 просмотров

  1. beta
    beta Автор темы 1 мар 2025 475 6 янв 2019
    Чек HTTP ****** из файла proxy.txt формата ip:port
    Python
    import requests
    from concurrent.futures import ThreadPoolExecutor
    import time


    def check_proxy(proxy_line, test_url="http://httpbin.org/ip", timeout=10):
    """Проверяет HTTP-****** без аутентификации в формате ip:port"""
    try:
    # Проверка формата
    if ":" not in proxy_line:
    return proxy_line, False, "Некорректный формат", 0

    ip, port = proxy_line.split(":", 1)

    # Формируем URL ******
    proxy_url = f"http://{ip}:{port}"
    proxies = {
    "http": proxy_url,
    "https": proxy_url
    }

    start = time.time()
    response = requests.get(test_url, proxies=proxies, timeout=timeout)
    latency = int((time.time() - start) * 1000)

    if response.status_code == 200:
    return proxy_line, True, response.json().get('origin', ''), latency
    return proxy_line, False, f"HTTP {response.status_code}", 0

    except Exception as e:
    return proxy_line, False, f"Ошибка: {str(e)}", 0


    def main():
    proxy_file = "proxy.txt"
    max_workers = 20

    try:
    with open(proxy_file, "r") as f:
    proxies = [line.strip() for line in f if line.strip()]
    except FileNotFoundError:
    print(f"✖ Файл {proxy_file} не найден")
    return

    if not proxies:
    print("✖ Файл с ****** пуст")
    return

    print(f" Проверка {len(proxies)} ******...\n")
    print("-" * 65)

    working = []
    with ThreadPoolExecutor(max_workers=max_workers) as executor:
    results = executor.map(check_proxy, proxies)

    for proxy_line, status, info, latency in results:
    if status:
    print(f"\033[92m✓ {proxy_line.ljust(20)} | {latency}ms | IP: {info}\033[0m")
    working.append(proxy_line)
    else:
    print(f"\033[91m✖ {proxy_line.ljust(20)} | {info}\033[0m")

    print("\n" + "=" * 65)
    print(f"\033[1mРезультаты:\033[0m")
    print(f" Всего проверено: {len(proxies)}")
    print(f" Рабочих: \033[92m{len(working)}\033[0m")
    print(f" Не рабочих: \033[91m{len(proxies) - len(working)}\033[0m")

    if working:
    with open("working_http_proxies.txt", "w") as f:
    f.write("\n".join(working))
    print("\n Рабочие ****** сохранены в файл: working_http_proxies.txt")


    if __name__ == "__main__":
    main()
    Чек HTTP ****** из файла proxy.txt формата log:pass@ip:port
    Python
    import requests
    from concurrent.futures import ThreadPoolExecutor
    import time

    def check_proxy(proxy_line, test_url="http://httpbin.org/ip", timeout=10):
    """Проверяет ****** с аутентификацией в формате login:pass@ip:port"""
    try:
    # Ручной парсинг строки ******
    if "@" not in proxy_line:
    return proxy_line, False, "Некорректный формат (отсутствует @)", 0

    auth_part, host_part = proxy_line.split("@", 1)

    if ":" not in auth_part:
    return proxy_line, False, "Некорректный формат логина/пароля", 0

    if ":" not in host_part:
    return proxy_line, False, "Некорректный формат IP:port", 0

    login, password = auth_part.split(":", 1)
    ip, port = host_part.split(":", 1)

    proxies = {
    "http": f"http://{login}:{password}@{ip}:{port}",
    "https": f"http://{login}:{password}@{ip}:{port}"
    }

    start = time.time()
    response = requests.get(test_url, proxies=proxies, timeout=timeout)
    latency = int((time.time() - start) * 1000)

    if response.status_code == 200:
    return proxy_line, True, response.json().get('origin', ''), latency
    return proxy_line, False, f"HTTP {response.status_code}", 0

    except Exception as e:
    return proxy_line, False, f"Ошибка: {str(e)}", 0

    def main():
    proxy_file = "proxy.txt"
    max_workers = 20

    try:
    with open(proxy_file, "r") as f:
    proxies = [line.strip() for line in f if line.strip()]
    except FileNotFoundError:
    print(f"✖ Файл {proxy_file} не найден")
    return

    if not proxies:
    print("✖ Файл с ****** пуст")
    return

    print(f" Проверка {len(proxies)} ******...\n")
    print("-" * 65)

    working = []
    with ThreadPoolExecutor(max_workers=max_workers) as executor:
    results = executor.map(check_proxy, proxies)

    for proxy_line, status, info, latency in results:
    if status:
    print(f"\033[92m✓ {proxy_line.ljust(35)} | {latency}ms | IP: {info}\033[0m")
    working.append(proxy_line)
    else:
    print(f"\033[91m✖ {proxy_line.ljust(35)} | {info}\033[0m")

    print("\n" + "=" * 65)
    print(f"\033[1mРезультаты:\033[0m")
    print(f" Всего проверено: {len(proxies)}")
    print(f" Рабочих: \033[92m{len(working)}\033[0m")
    print(f" Не рабочих: \033[91m{len(proxies)-len(working)}\033[0m")

    if working:
    with open("working_proxies.txt", "w") as f:
    f.write("\n".join(working))
    print("\n Рабочие ****** сохранены в файл: working_proxies.txt")

    if __name__ == "__main__":
    main()
     
  2. InfernLife
    InfernLife 1 мар 2025 Купить домен анонимно - t.me/FastDomainBot 836 8 май 2023
    норм, но можно бы добавить асинхронность

    aiohttp, asynico
     
Top
Загрузка...