5

类似于以下内容:

def domain_exists?(domain)
  # perform check
  # return true|false
end

puts "valid!" if domain_exists?("example.com")
4

4 回答 4

8
require 'socket'

def domain_exists?(domain)
  begin
    Socket.gethostbyname(domain)
  rescue SocketError
    return false
  end

  true
end
于 2010-04-22T22:54:13.060 回答
4

如果要检查域是否已注册,则需要执行 Whois 查询。 http://www.ruby-whois.org/

于 2010-04-23T08:51:06.923 回答
1

使用 ruby​​-whois 非常简单:

安装 gem 并要求。

a = Whois.whois("google.com")

a.可用吗?=> 假的

如果您通过 ruby​​ gems 安装它,还捆绑了一个 CLI:ruby-whois

网页地址:ruby-whois.org

于 2010-04-23T11:49:01.683 回答
0

您可以像这样使用 nslookup:

`nslookup #{domain}`

并将结果解析为带有正则表达式等的文本。

或者您可以使用Socket类,特别是 Socket.getaddrinfo。有关这个问题,请参阅之前的StackOverflow 答案。

于 2010-04-22T22:47:12.937 回答