Wie man programmgesteuert herausfindet, ob ein Domainname registriert ist oder nicht

Ich benutze pywhois, um festzustellen, ob ein Domainname registriert ist oder nicht. Hier ist mein Quellcode. (alle Permutationen vona.net zuzzz.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()

Ich habe die folgenden Ergebnisse erhalten:

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

Alle oben genannten Domainnamen wurden jedoch bereits registriert. Es ist nicht genau.ann es jemand erkläre Es gibt viele Fehler:

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

Es gibt eine Alternative, berichtetHie.

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

enn ich von Geschwindigkeit spreche, benutze ichmap zur parallelen Verarbeitung.

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

Antworten auf die Frage(2)

Ihre Antwort auf die Frage