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

Methods

Classes