class Resolv

[edit]

要約

リゾルバを表すクラスです。このクラス自体は実際には名前解決をせず、 Resolv.new で与えられたリゾルバに順に問合せることしかしません。

このクラスのクラスメソッドで名前解決をした場合には、内部で /etc/hosts, DNS の順に問合せます。

順に問合せる過程で、あるリゾルバが1個以上の結果を返した場合、それ以降のリゾルバには問い合わせをしません。

目次

特異メソッド
インスタンスメソッド
定数

特異メソッド

each_address(name) {|address| ...} -> ()[permalink][rdoc][edit]

ホスト名 name の IP アドレスをルックアップし、各ルックアップ結果のアドレスに対してブロックを評価します。

ルックアップは /etc/hosts, DNS の順で行います。

[PARAM] name:
ホスト名を文字列で与えます。
each_name(address) {|name| ...} -> ()[permalink][rdoc][edit]

IP アドレス address のホスト名をルックアップし、各ルックアップ結果のホスト名に対してブロックを評価します。

ルックアップは /etc/hosts, DNS の順で行います。

[PARAM] address:
IPアドレスを文字列で与えます。
getaddress(name) -> String[permalink][rdoc][edit]

ホスト名 name の IP アドレスをルックアップし、ルックアップ結果の最初のアドレスを返します。

ルックアップは /etc/hosts, DNS の順で行います。


require "resolv"
Resolv.getaddress("localhost") #=> "127.0.0.1"
Resolv.getaddress("www.ruby-lang.org") #=> "221.186.184.68"
[PARAM] name:
ホスト名を文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。
getaddresses(name) -> [String][permalink][rdoc][edit]

ホスト名 name の IP アドレスをルックアップし、ルックアップ結果のアドレスリストを返します。

ルックアップは /etc/hosts, DNS の順で行います。ルックアップに失敗した場合は空の配列が返されます。

[PARAM] name:
ホスト名を文字列で与えます。
getname(address) -> String[permalink][rdoc][edit]

IP アドレス address のホスト名をルックアップし、ルックアップ結果の最初のホスト名を文字列で返します。

ルックアップは /etc/hosts, DNS の順で行います。


require "resolv"
Resolv.getname("221.186.184.68") #=> "carbon.ruby-lang.org"
[PARAM] address:
IPアドレスを文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。
getnames(address) -> [String][permalink][rdoc][edit]

IP アドレス address のホスト名をルックアップし、ルックアップ結果のホスト名リストを返します。

ルックアップは /etc/hosts, DNS の順で行います。

[PARAM] address:
IPアドレスを文字列で与えます。
new(resolvers = [Hosts.new, DNS.new]) -> Resolv[permalink][rdoc][edit]

resolvers に与えたリゾルバの配列を先頭から順に名前解決を試すような、新しいリゾルバオブジェクトを返します。

resolvers の各要素は each_address と each_name というメソッドを持っていなければなりません。

[PARAM] resolvers:
リゾルバの配列

インスタンスメソッド

each_address(name) {|name| ...} -> ()[permalink][rdoc][edit]

ホスト名 name の IP アドレスをルックアップし、各ルックアップ結果のアドレスに対してブロックを評価します。

[PARAM] name:
ホスト名を文字列で与えます。
each_name(address) {|name| ...} -> ()[permalink][rdoc][edit]

IP アドレス address のホスト名をルックアップし、各ルックアップ結果のホスト名に対してブロックを評価します。

[PARAM] address:
IPアドレスを文字列で与えます。
getaddress(name) -> String[permalink][rdoc][edit]

ホスト名 name の IP アドレスをルックアップし、ルックアップ結果の最初のアドレスを返します。

[PARAM] name:
ホスト名を文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。
getaddresses(name) -> [String][permalink][rdoc][edit]

ホスト名 name の IP アドレスをルックアップし、ルックアップ結果のアドレスリストを返します。

ルックアップに失敗した場合は空の配列が返されます。

[PARAM] name:
ホスト名を文字列で与えます。
getname(address) -> String[permalink][rdoc][edit]

IP アドレス address のホスト名をルックアップし、ルックアップ結果の最初のホスト名を文字列で返します。

[PARAM] address:
IPアドレスを文字列で与えます。
[EXCEPTION] Resolv::ResolvError:
ルックアップに失敗したときに発生します。
getnames(address) -> [String][permalink][rdoc][edit]

IP アドレス address のホスト名をルックアップし、ルックアップ結果のホスト名リストを返します。

[PARAM] address:
IPアドレスを文字列で与えます。

定数

AddressRegex -> Regexp[permalink][rdoc][edit]

IPアドレスにマッチする正規表現です。

DefaultResolver -> Resolv[permalink][rdoc][edit]

Resolv の各クラスメソッドを呼びだしたときに利用されるリゾルバです。