我如何知道网址是ruby中的IP地址或DNS地址。
澄清问题的例子:
IP地址:http://74.125.236.72/
DNS地址:http://google.co.in
答案 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"