我正在用Ruby编写一个简单的程序来检查是否有域名列表。基本上,它循环遍历列表,并使用以下函数进行检查。
require 'rubygems'
require 'whois'
def check_domain(domain)
c = Whois::Client.new
c.query("google.com").available?
end程序总是出错(即使我用google.com进行了硬编码),并打印下面的消息。考虑到这个程序是如此简单,我已经没有想法了--有什么建议吗?
/Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.rb:165:in `query_the_socket': Errno::ECONNRESET: Connection reset by peer (Whois::ConnectionError)
from /Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/verisign.rb:41:in `request'
from /Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.rb:113:in `query'
from /Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.rb:150:in `buffer_start'
from /Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/server/adapters/base.rb:112:in `query'
from /Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/client.rb:90:in `query'
from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/timeout.rb:62:in `timeout'
from /Library/Ruby/Gems/1.8/gems/whois-2.0.2/lib/whois/client.rb:87:in `query'
from checker.rb:7:in `check_domain'
from checker.rb:14
from checker.rb:11:in `each'
from checker.rb:11发布于 2011-04-30 04:02:13
对这个问题有两种可能的解释:
发布于 2011-04-29 05:36:32
尝试使用timeout参数:
irb(main):002:0> c = Whois::Client.new(:timeout => 100) # 100 seconds
irb(main):003:0> c.query("google.com").available?
=> true发布于 2016-10-31 17:38:00
它以前能工作吗?你向任何服务器发出的请求太多了。慢点。
以前不工作?你不能连接到谁的服务器
https://stackoverflow.com/questions/5825150
复制相似问题