Rubyで書かれたリゾルバ(名前解決)ライブラリ。 Rubyで書かれているためthread-awareであり、 並列に多くのホスト名を解決することができます。
DNSモジュールを使うことで、さまざまなリソースを直接ルックアップできます。
Resolv.getaddress("www.ruby-lang.org") Resolv.getname("210.251.121.214").to_s Resolv::DNS.new.getresources("www.ruby-lang.org", Resolv::DNS::Resource::IN::A).collect {|r| r.address} Resolv::DNS.new.getresources("ruby-lang.org", Resolv::DNS::Resource::IN::MX).collect {|r| [r.exchange.to_s, r.preference]}
Resolv.getaddress(name)
Resolv.getaddresses(name)
Resolv.each_address(name) {|address| ...}
Stringのホスト名 name のIPアドレスをルックアップします
getaddress はルックアップ結果の最初のアドレスを返します。 getaddresses はルックアップ結果のアドレスリストを返します。 each_address はルックアップ結果のアドレスに対するイテレータ
例:
Resolv.getaddress("www.ruby-lang.org").to_s #=> "210.251.121.214"
Resolv.getname(address)
Resolv.getnames(address)
Resolv.each_name(address) {|name| ...}
StringのIPアドレス address のホスト名をルックアップします。
getname はルックアップ結果の最初のホスト名を返します。 getnames はルックアップ結果のホスト名リストを返します。 each_names はルックアップ結果のアドレスに対するイテレータ
例:
Resolv.getname("210.251.121.214").to_s #=> "helium.ruby-lang.org"
/etc/hosts を使用するホスト名リゾルバです。
Resolv::Hosts#getaddress(name)
Resolv::Hosts#getaddresses(name)
Resolv::Hosts#each_address(name) {|address| ...}
address lookup methods.
Resolv::Hosts#getname(address)
Resolv::Hosts#getnames(address)
Resolv::Hosts#each_name(address) {|name| ...}
hostnames lookup methods.
DNS stub resolver.
Resolv::DNS#getaddress(name)
Resolv::DNS#getaddresses(name)
Resolv::DNS#each_address(name) {|address| ...}
address lookup methods.
name は Resolv::Name または String でなければなりません。 ルックアップ結果は Resolv::IPv4 または Resolv::IPv6 のインスタンスとなります。
Resolv::DNS#getname(address)
Resolv::DNS#getnames(address)
Resolv::DNS#each_name(address) {|name| ...}
hostnames lookup methods.
address は Resolv::IPv4, Resolv::IPv6, String のいずれかでなければなりません。 ルックアップ結果は Resolv::Name のインスタンスとなります。
Resolv::DNS#getresource(name, typeclass)
Resolv::DNS#getresources(name, typeclass)
Resolv::DNS#each_resource(name, typeclass) {|resource| ...}
They lookup DNS resources of name. name は Resolv::Name または String でなければなりません。
typeclass は以下のいずれかです。
ルックアップ結果は Resolv::DNS::Resource (のサブクラス)のインスタンスとなります。
NISはサポートされていません。