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