类似于以下内容:
def domain_exists?(domain)
# perform check
# return true|false
end
puts "valid!" if domain_exists?("example.com")
类似于以下内容:
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 非常简单:
安装 gem 并要求。
a = Whois.whois("google.com")
a.可用吗?=> 假的
如果您通过 ruby gems 安装它,还捆绑了一个 CLI:ruby-whois
网页地址:ruby-whois.org
您可以像这样使用 nslookup:
`nslookup #{domain}`
并将结果解析为带有正则表达式等的文本。
或者您可以使用Socket类,特别是 Socket.getaddrinfo。有关这个问题,请参阅之前的StackOverflow 答案。