Суть вопроса в # коментах к коду
import requests
import urllib
from random import choice
from colorama import Fore, Back, Style
url = "http://3g2upl4pq6kufc4m.onion" # контрольный адрес для проверки работоспособности (код 200)
def ururu(): # генерирует рандомный URL
digits = "abcdefghijklmnopqrstuvwxyz234567"
adr = "http://" + "".join([choice(digits) for _ in range(16)]) + '.onion'
return adr
def getdata(adr):
try:
print(Fore.GREEN +"I will try => " '%s' %(adr))
proxies = {'http': 'socks5h://127.0.0.1:9050','https': 'socks5h://127.0.0.1:9050'}
data = requests.get(adr, proxies=proxies)
t = data.status_code == requests.codes.ok
print("Site data " '%s' % (data))
print("Response " '%s' %(t))
except requests.exceptions.InvalidURL:
print("InvalidURL")
except requests.ConnectionError: # но как скормить переменной новый URL после отлова ошибки?()
print("ConnectionError") # при каждом неверном адресе будет ошибка.Как перебрать Все url?
return data
import requests
from sys import argv
from random import choice
from colorama import Fore, Back, Style
from itertools import islice
def ururu():
digits = "abcdefghijklmnopqrstuvwxyz234567"
while (True):
yield "http://" + "".join([choice(digits) for _ in range(5)]) + '.ru'
def getdata(adr):
try:
data = requests.get(adr)
print("{} {} OK".format(Fore.GREEN, adr))
except requests.exceptions.InvalidURL:
print("{}InvalidURL".format(Fore.RED))
except requests.ConnectionError:
print("{}{} ConnectionError".format(Fore.RED, adr))
if __name__ == '__main__':
try:
limit = int(argv[1])
except (IndexError, ValueError):
limit = 100
for addr in islice(ururu(), limit):
getdata(addr)