class Resolv

Resolv 是一个线程安全的 Ruby DNS 解析器库。Resolv 可以并发处理多个 DNS 请求,而不会阻塞整个 Ruby 解释器。

另请参阅 resolv-replace.rb,以使用 Resolv 替换 libc 解析器。

Resolv 可以直接使用 DNS 模块查找各种 DNS 资源。

示例

p Resolv.getaddress "www.ruby-lang.org"
p Resolv.getname "210.251.121.214"

Resolv::DNS.open do |dns|
  ress = dns.getresources "www.ruby-lang.org", Resolv::DNS::Resource::IN::A
  p ress.map(&:address)
  ress = dns.getresources "ruby-lang.org", Resolv::DNS::Resource::IN::MX
  p ress.map { |r| [r.exchange.to_s, r.preference] }
end

缺陷