此SO post建议通过DNS查找和WHOIS查询的组合来检查域可用性。
不幸的是,目前尚不清楚在Ruby中执行DNS查找的最佳方法是什么。 Dnsruby宝石的文档充其量只是稀疏。
使用Dnsruby查看域名是否已被采用的最有效方法是什么?
谢谢!
答案 0 :(得分:3)
这篇标题为Some examples of dnsruby in action的博客文章详细说明了如何将dnsruby用于常见任务。
根据那里提到的步骤,我可以在irb中验证以下行为:
>> require 'dnsruby'
>> include DnsRuby
>> res = Resolver.new
=> #<Dnsruby::Resolver:0x00000100f4d2c8 @resolver_ruby=nil, @src_address=nil, @single_res_mutex=#<Mutex:0x00000100f4d278>, @configured=false, @do_caching=true, @config=Config - nameservers : 192.168.1.1, domain : empty, search : local, ndots : 1, @do_validation=false, @query_timeout=0, @retry_delay=5, @retry_times=1, @packet_timeout=5, @port=53, @udp_size=4096, @dnssec=true, @use_tcp=false, @no_tcp=false, @tsig=nil, @ignore_truncation=false, @src_port=[0], @recurse=true, @single_resolvers=[]>
>> res.query( 'www.google.com' )
=> ;; Answer received from 192.168.1.1 (123 bytes).... lengthy answer with A record info.
>> res.query( 'www.nonexistantsite.com' )
=> Throws an Dnsruby::NXDomain: Dnsruby::NXDomain exception.
看起来在ruby程序中适当地包装它是一种使用ruby执行DNS查找的简单方法。