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