2010-05-10 11 views

Répondre

0
require 'resolv-replace' 
Resolv::DNS.new.each_address("oreilly.com") { |addr| puts addr } 

produit:

208.201.239.101
208.201.239.100

http://codeidol.com/other/rubyckbk/Internet-Services/Performing-DNS-Queries/

+0

Je ne peux pas obtenir votre exemple pour travailler, mais il semble le même que celui de Socket de getaddrinfo ('www. google.com ',' www ', nil, Socket :: SOCK_STREAM) .que faire | a, p, n, ip | met fin à addr Qui travaille pour Google mais pas localement. Je crois que c'est à cause du DNS qui a plusieurs adresses IP enregistrées avec le nom. Les serveurs avec lesquels je travaille n'ont qu'une adresse IP enregistrée avec leur nom dans le DNS – QueueHammer

+0

La seule façon d'obtenir des adresses IP à partir d'un nom est de rechercher les adresses IP quelque part. Les adresses IP des machines auxquelles vous essayez d'accéder doivent être publiées quelque part pour que vous puissiez les consulter. Il n'y a aucun moyen de les découvrir par magie. Si cette information n'est pas disponible, votre programme ne peut pas l'obtenir. – Jay