Что-то вроде:
def domain_exists?(domain)
# perform check
# return true|false
end
puts "valid!" if domain_exists?("example.com")
Если вы хотите проверить, зарегистрирован ли домен или нет, вам необходимо выполнить запрос Whois. http://www.ruby-whois.org/
С ruby- whois довольно прост:
Установите gem и потребуйте.
a = Whois.whois ("google.com")
a.available? => false
В комплекте также идет интерфейс командной строки, если вы устанавливаете его через ruby gems: ruby-whois
веб-страница по адресу: ruby-whois.org
Вы можете выполнить оболочку для nslookup следующим образом:
`nslookup #{domain}`
и проанализировать результаты как текст с регулярными выражениями и т. Д.
Или вы можете использовать Socket класс, а именно Socket.getaddrinfo. См. Предыдущий ответ StackOverflow именно на этот вопрос.
require 'socket'
def domain_exists?(domain)
begin
Socket.gethostbyname(domain)
rescue SocketError
return false
end
true
end