【问题标题】:How can I use Ruby to check if a domain exists?如何使用 Ruby 检查域是否存在?
【发布时间】: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


    【解决方案1】:

    您可以像这样使用 nslookup:

    `nslookup #{domain}`
    

    并使用正则表达式等将结果解析为文本。

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

    【讨论】:

      【解决方案2】:
      require 'socket'
      
      def domain_exists?(domain)
        begin
          Socket.gethostbyname(domain)
        rescue SocketError
          return false
        end
      
        true
      end
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          安装 gem 并要求。

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

          a. 可用吗? => 错误

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

          网页地址:ruby-whois.org

          【讨论】:

          • Simon Carletti,第一个回复的是你的人。
          猜你喜欢
          • 1970-01-01
          • 2021-06-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-30
          • 2012-04-18
          • 2021-12-10
          • 1970-01-01
          相关资源
          最近更新 更多