Resolvライブラリを使用して「localhost」を含むホスト名を解決したいのですが、IPv4 以外のアドレスも一覧表示されます。最初のIPv4アドレスを知りたい。ライブラリを見ましたが、そうする方法が見つかりませんでした。これを行う方法を知っている人はいますか、それとも Net:DNS や dnsruby などの他の gem を使用する必要がありますか?
1224 次
1 に答える
3
私が正しく理解していれば、例を使用Resolv::IPv4::Regexp
してResolv::IPv6::Regexp
見ることができます:
=> require 'resolv'
=> p Resolv.getaddress "www.ruby-lang.org"
#> "23.23.144.121"
=> ip = "23.23.144.121"
=> ip =~ Resolv::IPv4::Regex
#> 0
=> ip =~ Resolv::IPv6::Regex
#> nil
=> case ip
=> when Resolv::IPv4::Regex
=> puts "It's a valid IPv4 address."
=> when Resolv::IPv6::Regex
=> puts "It's a valid IPv6 address."
=> else
=> puts "It's not a valid IP address."
=> end
#> It's a valid IPv4 address.
于 2014-07-25T10:11:09.220 に答える