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")
Était-ce utile?

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
scroll top