Domanda Fare richieste in Multithreading

-bAd-

Utente Electrum
18 Dicembre 2016
548
21
61
174
Non so come poter utilizzare i thread in questo caso particolare:

In questa funzione mi preparo la richiesta, la faccio e successivamente gestisco l'eccezione in caso di link irraggiungibile o inesistente tornando un valore booleano a seconda dell'esito
Python:
def verifyOnionLink(linkToVerify):
    session = requests.session()
    session.proxies = {
        'http': 'socks5h://localhost:9050',
        'https': 'socks5h://localhost:9050',
    }
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; rv:78.0) Gecko/20100101 Firefox/78.0',
        'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
        'Accept-Language': 'en-US,en;q=0.5',
        'Connection': 'keep-alive',
        'Upgrade-Insecure-Requests': '1',
        'Cache-Control': 'max-age=0',
        'TE': 'Trailers',
    }
    try:
        print(Fore.YELLOW+" Trying to connect to "+linkToVerify)
        print(Style.RESET_ALL)
        r = session.get(linkToVerify, headers=headers, timeout=10)
        session.cookies.clear()
    except:
        session.cookies.clear()
        print(Fore.RED+"  Connection to "+linkToVerify+" failed!")
        print(Style.RESET_ALL)
        return False
    print(Fore.GREEN+"  Connection to "+linkToVerify+" succeded, this site is online\n")
    print(Style.RESET_ALL)
    return True
Questa funzione invece genera N link .onion
Python:
def generateOnionLink(numLink):
    link = ''
    tmp = ''
    isOnionLinkOnline = False
    for i in range(int(numLink)):
        while not isOnionLinkOnline:
            tmp = "http://"+randomString()+".onion/"
            isOnionLinkOnline = verifyOnionLink(tmp)
        link += tmp+"\n"
    print("Your online link:\n"+link)
Il problema è che le richieste ai link fatte una dopo l'altra rendono lo script molto lento e un amico mi ha consigliato di fare più richieste con l'utilizzo di thread per velocizzare il tutto, ottenendo i link .onion funzionanti più in fretta senza dover attendere una richiesta alla volta ma farne per esempio 100 alla volta se non più

Qua vi lascio la repository con lo script se volete fare dei test o farmi qualche domanda in merito al codice. Sono in un punto morto e ringrazio in anticipo chi cercherà di aiutarmi.