Cómo averiguar mediante programación si un nombre de dominio está registrado o no

yo suelopywhois para determinar si un nombre de dominio está registrado o no. Aquí está mi código fuente. (todas las permutaciones dea.net azzz.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()

Obtuve los siguientes resultados:

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

Sin embargo, todos los nombres de dominio anteriores ya se han registrado. No es exacto¿Alguien puede explicarlo? Hay muchos errores:

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

Hay una forma alternativa, informóaquí.

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

Al hablar de velocidad, usomap al procesamiento 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

Respuestas a la pregunta(1)

Su respuesta a la pregunta