0

这篇SO 帖子建议通过结合使用 DNS 查找和 WHOIS 查询来检查域的可用性。

不幸的是,目前尚不清楚在 Ruby 中执行 DNS 查找的最佳方法是什么。Dnsruby gem 的文档充其量是稀疏的。

使用 Dnsruby 查看域是否已被占用的最有效方法是什么?

谢谢!

4

1 回答 1

4

这篇名为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 查找的简单方法。

于 2012-09-30T05:07:34.937 回答