Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > resolvライブラリ > Resolvクラス
class Resolv
クラスの継承リスト: Resolv < Object < Kernel < BasicObject
Abstract
Ruby で書かれたリゾルバ(名前解決)ライブラリ。 Ruby で書かれているため thread-aware であり、 並列に多くのホスト名を解決することができます。
DNS モジュールを使うことで、さまざまなリソースを直接ルックアップできます。
なお、単にホスト名から IP アドレスを得たいだけであれば、 socket ライブラリの IPSocket.getaddress などが使用できます。
[[unknown:執筆者募集]]
例:
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]}
Bugs
NIS はサポートされていません。
特異メソッド
getaddress(name)
getaddresses(name)
each_address(name) {|address| ...}
-
String のホスト名 name の IP アドレスをルックアップします。
getaddress はルックアップ結果の最初のアドレスを返します。 getaddresses はルックアップ結果のアドレスリストを返します。 each_address はルックアップ結果のアドレスに対するイテレータです。
例:
Resolv.getaddress("www.ruby-lang.org").to_s #=> "210.251.121.214"
getname(address)
getnames(address)
each_name(address) {|name| ...}
-
String の IP アドレス address のホスト名をルックアップします。
getname はルックアップ結果の最初のホスト名を返します。 getnames はルックアップ結果のホスト名リストを返します。 each_name はルックアップ結果のアドレスに対するイテレータです。
例:
Resolv.getname("210.251.121.214").to_s #=> "helium.ruby-lang.org"
new(resolvers = [Hosts.new, DNS.new])
インスタンスメソッド
getaddress(name)
getaddresses(name)
each_address(name) {|name| ...}
-
String のホスト名 name の IP アドレスをルックアップします。
それぞれResolv.getaddress, Resolv.getaddresses, Resolv.each_address と同じ機能です。
getname(address)
getnames(address)
each_name(address) {|name| ...}
-
String の IP アドレス address のホスト名をルックアップします。
それぞれResolv.getname, Resolv.getnames, Resolv.each_name と同じ機能です。
定数
AddressRegex
DefaultResolver