【发布时间】:2011-02-11 07:23:30
【问题描述】:
类似的东西:
def domain_exists?(domain)
# perform check
# return true|false
end
puts "valid!" if domain_exists?("example.com")
【问题讨论】:
标签: ruby validation dns registrar
类似的东西:
def domain_exists?(domain)
# perform check
# return true|false
end
puts "valid!" if domain_exists?("example.com")
【问题讨论】:
标签: ruby validation dns registrar
您可以像这样使用 nslookup:
`nslookup #{domain}`
并使用正则表达式等将结果解析为文本。
或者您可以使用Socket 类,特别是Socket.getaddrinfo。关于这个问题,请参阅之前的 StackOverflow answer。
【讨论】:
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
【讨论】: