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