有些事情:
def domain_exists?(domain)
# perform check
# return true|false
end
puts "valid!" if domain_exists?("example.com")
答案 0 :(得分:8)
require 'socket'
def domain_exists?(domain)
begin
Socket.gethostbyname(domain)
rescue SocketError
return false
end
true
end
答案 1 :(得分:4)
如果要检查域是否已注册,则需要执行Whois查询。 http://www.ruby-whois.org/
答案 2 :(得分:1)
使用ruby-whois很容易:
安装gem和require。
a = Whois.whois(“google.com”)
a.available? =>假
如果您通过ruby gems:ruby-whois
安装它,还会捆绑一个CLI答案 3 :(得分:0)
你可以像这样向nslookup发送:
`nslookup #{domain}`
并使用正则表达式等将结果解析为文本。
或者你可以使用Socket类,特别是Socket.getaddrinfo。有关此问题,请参阅之前的StackOverflow answer。