このSO投稿では、DNSルックアップとWHOISクエリを組み合わせてドメインの可用性を確認することを提案しています。
残念ながら、RubyでDNSルックアップを実行するのが最善の方法は明確ではありません。Dnsrubygemのドキュメントはせいぜいまばらです。
Dnsrubyを使用して、ドメインがすでに取得されているかどうかを確認する最も効率的な方法は何ですか?
ありがとう!
「 dnsrubyの実際の例」というタイトルのこのブログ投稿には、一般的なタスクに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ルックアップを実行する簡単な方法のように見えます。