Come posso utilizzare Ruby per verificare se esiste un dominio?
-
01-10-2019 - |
Domanda
Qualcosa sulla falsariga di:
def domain_exists?(domain)
# perform check
# return true|false
end
puts "valid!" if domain_exists?("example.com")
Soluzione
Se si desidera controllare se un dominio è registrato o no, allora avete bisogno per eseguire una query Whois. http://www.ruby-whois.org/
Altri suggerimenti
require 'socket'
def domain_exists?(domain)
begin
Socket.gethostbyname(domain)
rescue SocketError
return false
end
true
end
Con rubino whois è abbastanza facile:
Installa gemma e richiedono.
a = Whois.whois ( "google.com")
a.available? => False
C'è anche un bundle CLI se lo si installa tramite le gemme del rubino: ruby-whois
La pagina web all'indirizzo: ruby-whois.org
Si potrebbe sborsare per nslookup in questo modo:
`nslookup #{domain}`
e analizzare i risultati come testo con regex etc.
In alternativa, è possibile utilizzare il Socket di classe, in particolare Socket.getaddrinfo. Vedi precedente StackOverflow risposta su questo stessa domanda.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow