как использовать несколько заголовков или многопроцессорность для более быстрой проверки? (Python) - PullRequest
0 голосов
/ 21 июня 2020

мой код работает отлично, но он медленный ... не могли бы вы дать мне решение, как можно проще, чтобы понять код, который я сделал с нуля. Я был бы признателен, если бы вы добавили многопроцессорный или многоголовочный код в код спасибо за помощь и счастливого дня

import requests
from colorama import Fore,init,Style
from termcolor import colored
import sys
import random
from sys import argv
import urllib3
from os import system as terminal
init()

banner = """CheckerProxy"""
print(Fore.GREEN + banner)
cargarcombo = open("proxy.txt","r")
archivocombo = [s.rstrip() for s in cargarcombo.readlines()]
for lines in archivocombo:
  combo = lines.split(":")
  try:
    proxies = {
    "http": "http://{}:{}".format(combo[0],combo[1]),
    "https": "http://{}:{}".format(combo[0],combo[1]),
    }
    print(Fore.BLUE + f"{proxies}")
    randomocontent = requests.get("https://www.youtube.com/", proxies=proxies, timeout=2,allow_redirects=True)
    if "</body></html>" in randomocontent.text:
      print(Fore.GREEN +f"Connection successful {proxies}")
      archivo = open("proxyGood.txt","a")
      archivo.write(f"{proxies}\n")
      archivo.close()
    else:
      print(Fore.RED +f"Connection Failed {proxies}")
  except requests.exceptions.ConnectionError as e:
    print(Fore.LIGHTRED_EX + 'Error!')
    print(Fore.RED +f"Connection Failed {proxies}")
  except requests.exceptions.ConnectTimeout as e:
    print(Fore.LIGHTRED_EX + 'Error,Timeout!')
    print(Fore.RED +f"Connection Failed {proxies}")
  except requests.exceptions.HTTPError as e:
    print(Fore.LIGHTRED_EX + 'HTTP ERROR!')
    print(Fore.RED +f"Connection Failed {proxies}")
  except requests.exceptions.Timeout as e:
    print(Fore.LIGHTRED_EX + 'Error! Connection Timeout!')
    print(Fore.RED +f"Connection Failed {proxies}")
  except urllib3.exceptions.ProxySchemeUnknown as e:
    print(Fore.LIGHTRED_EX + 'ERROR unkown Proxy Scheme!')
    print(Fore.RED +f"Connection Failed {proxies}")
  except requests.exceptions.TooManyRedirects as e:
    print(Fore.LIGHTRED_EX + 'ERROR! Too many redirects!')
    print(Fore.RED +f"Connection Failed {proxies}")
print(colored('Check Finish'))
input("Press enter to exit")
...