5 votes

Comment puis-je utiliser Ruby pour vérifier si un domaine existe ?

Quelque chose du genre :

def domain_exists?(domain)
  # perform check
  # return true|false
end

puts "valid!" if domain_exists?("example.com")

8voto

Santa Points 6013
require 'socket'

def domain_exists?(domain)
  begin
    Socket.gethostbyname(domain)
  rescue SocketError
    return false
  end

  true
end

4voto

Simone Carletti Points 77653

Si vous voulez vérifier si un domaine est enregistré ou non, vous devez effectuer une requête Whois. http://www.ruby-whois.org/

1voto

cobi_z Points 52

Con ruby-whois est assez facile :

Installez gem et require.

a = Whois.whois("google.com")

a.available?
=> false

Un CLI est également fourni si vous l'installez via ruby gems : ruby-whois

page web à l'adresse suivante ruby-whois.org

0voto

Tom Morris Points 2182

Vous pouvez utiliser nslookup comme ceci :

`nslookup #{domain}`

et analyser les résultats sous forme de texte avec des regex, etc.

Ou vous pouvez utiliser le Prise de courant et plus particulièrement Socket.getaddrinfo. Voir le précédent Réponse de StackOverflow sur cette même question.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X