Como descobrir programaticamente se um nome de domínio está registrado ou não

eu usopywhois para determinar se um nome de domínio está registrado ou não. Aqui está o meu código fonte. (todas as permutações dea.net parazzz.net)

#!/usr/bin/env python
import whois  #pip install python-whois
import string
import itertools

def main():
    characters = list(string.ascii_lowercase)
    ##domain names generator
    for r in range(1, 4) :
        for name in itertools.permutations(characters, r) : #from 'a.net' to 'zzz.net'
            url = ''.join(name) + '.net'

            #check if a domain name is registered or not
            try :
                w = whois.whois(url)
            except (whois.parser.PywhoisError):  #NOT FOUND
                print(url)   #unregistered domain names?

if __name__ == '__main__':
    main()

Eu obtive os seguintes resultados:

jv.net
uli.net
vno.net
xni.net

No entanto, todos os nomes de domínio acima já foram registrados. Não é preciso.Alguém pode explicar isso? Existem muitos erros:

fgets: Connection reset by peer
connect: No route to host
connect: Network is unreachable
connect: Connection refused
Timeout.

Existe uma maneira alternativa, relatadaaqui.

import socket   
try:    
    socket.gethostbyname_ex(url) 
except:
    print(url) #unregistered domain names?

Ao falar de velocidade, eu usomap para processamento paralelo.

def select_unregisteredd_domain_names(self, domain_names):
    #Parallelism using map
    pool = ThreadPool(16)  # Sets the pool size
    results = pool.map(query_method(), domain_names)
    pool.close()  #close the pool and wait for the work to finish
    pool.join()

    return results

questionAnswers(1)

yourAnswerToTheQuestion