Comment puis-je utiliser Ruby pour vérifier si un domaine existe?
-
01-10-2019 - |
Question
Quelque chose le long des lignes de:
def domain_exists?(domain)
# perform check
# return true|false
end
puts "valid!" if domain_exists?("example.com")
La solution
Si vous voulez vérifier si un domaine est enregistré ou non, vous devez effectuer une requête WHOIS. http://www.ruby-whois.org/
Autres conseils
require 'socket'
def domain_exists?(domain)
begin
Socket.gethostbyname(domain)
rescue SocketError
return false
end
true
end
Avec rubis whois est assez facile:
Installer bijou et nécessitent.
a = Whois.whois ( "google.com")
a.available? => False
Il y a aussi un CLI fourni si vous l'installez via des pierres précieuses rubis: rubis whois
page Web à l'adresse: ruby-whois.org
Vous pourriez débourser à nslookup comme ceci:
`nslookup #{domain}`
et analyser les résultats sous forme de texte avec regexes etc.
Vous pouvez également utiliser le Socket classe, en particulier Socket.getaddrinfo. Voir le précédent StackOverflow réponse sur cette question très.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow