このクラスは DNS を利用した名前解決をするリゾルバを表します。
このクラスは実際には下位のクラスに処理を依頼します。
DNSについては以下を参照してください。
new(resolv_conf = nil) -> Resolv::DNS
[permalink][rdoc]新しい DNS リゾルバを生成します。
resolv_conf が nil の場合は /etc/resolv.conf もしくはプラットフォーム固有の DNS設定を利用します。 resolv_conf が文字列の場合は /etc/resolv.conf と同じフォーマットのファイルを設定に利用します。 resolv_conf がハッシュの場合は、:nameserver, :search, :ndots というキーが利用可能です。それぞれの意味は resolv.conf(5) を参照してください。
require "resolv" Resolv::DNS.new(:nameserver => ['210.251.121.21'], :search => ['ruby-lang.org'], :ndots => 1)
open(*args) -> Resolv::DNS
[permalink][rdoc]open(*args) {|dns| ...} -> object
新しい DNS リゾルバを生成します。ブロックを与えた場合は生成したリゾルバでブロックを呼びだし、ブロック終了時にリゾルバを閉じます。
ブロックを与えなかった場合は Resolv::DNS.new と同じです。
close -> ()
[permalink][rdoc]DNSリゾルバを閉じます。
each_address(name) {|name| ...} -> ()
[permalink][rdoc]ホスト名 name の IP アドレスをルックアップし、各ルックアップ結果のアドレスに対してブロックを評価します。
each_name(address) {|name| ...} -> ()
[permalink][rdoc]IP アドレス address のホスト名をルックアップし、各ルックアップ結果のホスト名に対してブロックを評価します。
each_resource(name, typeclass) {|resource| ...} -> ()
[permalink][rdoc]nameに対応するDNSリソースレコードを取得します。見つかったリソースをひとつずつブロックに渡します。
typeclass は以下のいずれかです。
ルックアップ結果は Resolv::DNS::Resource (のサブクラス)のインスタンスとなります。 typeclass に Resolv::DNS::Resource::IN::ANY 以外を指定した場合にはそのクラスのインスタンスを返します。
getaddress(name) -> Resolv::IPv4 | Resolv::IPv6
[permalink][rdoc]ホスト名 name の IP アドレスをルックアップし、ルックアップ結果の最初のアドレスを返します。
getaddresses(name) -> [Resolv::IPv4 | Resolv::IPv6]
[permalink][rdoc]ホスト名 name の IP アドレスをルックアップし、ルックアップ結果のアドレスリストを返します。
ルックアップに失敗した場合は空の配列が返されます。
getname(address) -> Resolv::DNS::Name
[permalink][rdoc]IP アドレス address のホスト名をルックアップし、ルックアップ結果の最初のホスト名を返します。
getnames(address) -> [Resolv::DNS::Name]
[permalink][rdoc]IP アドレス address のホスト名をルックアップし、ルックアップ結果のホスト名リストを返します。
getresource(name, typeclass) -> Resolv::DNS::Resource
[permalink][rdoc]nameに対応するDNSリソースレコードを取得します。最初に見つかったリソースを返します。
typeclass は以下のいずれかです。
ルックアップ結果は Resolv::DNS::Resource (のサブクラス)のインスタンスとなります。 typeclass に Resolv::DNS::Resource::IN::ANY 以外を指定した場合にはそのクラスのインスタンスを返します。
getresources(name, typeclass) -> [Resolv::DNS::Resource]
[permalink][rdoc]nameに対応するDNSリソースレコードを取得します。見つかったリソース全てを配列にして返します。
typeclass は以下のいずれかです。
ルックアップ結果は Resolv::DNS::Resource (のサブクラス)のインスタンスとなります。 typeclass に Resolv::DNS::Resource::IN::ANY 以外を指定した場合にはそのクラスのインスタンスを返します。
timeouts=(values)
[permalink][rdoc]DNSリゾルバのタイムアウト時間を設定します。
例:
dns.timeouts = 3
Port -> Integer
[permalink][rdoc]デフォルトの DNS ポート番号です。
UDPSize -> Integer
[permalink][rdoc]デフォルトの UDP パケットサイズです。