区分ruby中的ip地址和DNS地址

时间:2014-03-29 07:40:34

标签: ruby-on-rails ruby dns ip

我如何知道网址是ruby中的IP地址或DNS地址。

澄清问题的例子:

IP地址:http://74.125.236.72/

DNS地址:http://google.co.in

2 个答案:

答案 0 :(得分:0)

只需手动检查一下吗?

 string =~ /\/\/[0-9.]+\/?$/

答案 1 :(得分:0)

如下所示,我正在考虑使用IPAddr解决此问题: -

def dns_or_ip_addrs_check(address)
  addr = address[/http(?:s)?:\/\/([a-z0-9.]+)\/?/i,1]
  begin
    require 'ipaddr'
    IPAddr.new addr
    'ip address'
  rescue IPAddr::InvalidAddressError
    'dns address'
  end
end

dns_or_ip_addrs_check('http://74.125.236.72/') # => "ip address"
dns_or_ip_addrs_check('http://google.co.in') # => "dns address"