⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 03 - performing dns queries.rb

📁 O Reilly Ruby Cookbook source code
💻 RB
字号:
require 'resolv'Resolv::DNS.new.each_address("oreilly.com") { |addr| puts addr }# 208.201.239.36# 208.201.239.37#---dns = Resolv::DNS.newdomain = "oreilly.com"dns.each_resource(domain, Resolv::DNS::Resource::IN::MX) do |mail_server|  puts mail_server.exchangeend# smtp1.oreilly.com# smtp2.oreilly.comdns.each_resource(domain, Resolv::DNS::Resource::IN::NS) do |nameserver|  puts nameserver.nameend# a.auth-ns.sonic.net# b.auth-ns.sonic.net# c.auth-ns.sonic.net# ns.oreilly.com#---require 'resolv-replace'def multiple_lookup(*names)  dns = Resolv::DNS.new  results = {}   threads = []  names.each do |name|    threads << Thread.new(name) do |name|      begin        dns.each_address(name) { |a| (results[name] ||= []) << a }      rescue Resolv::ResolvError        results[name] = nil      end    end  end  threads.each { |t| t.join }  return resultsenddomains = ("a".."z").collect { |l| l + '.com' }multiple_lookup(*domains).each do |name, addresses|  if addresses    puts "#{name}: #{addresses.size} address#{addresses.size == 1 ? "" : "es"}"  endend# x.com: 4 addresses# z.com: 1 address# q.com: 1 address#---

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -