ECONNRESET (Whois::ConnectionError) - 尝试在 Ruby 中查询 Whois 时出错
我正在用 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
I'm writing a simple program in Ruby to check if a list of domains is taken. Basically it cycles through a list, and uses the following function to check.
require 'rubygems'
require 'whois'
def check_domain(domain)
c = Whois::Client.new
c.query("google.com").available?
end
The program keeps erroring out (even when I hardcode in google.com), and prints the message below. Given how simple the program is, I've run out of ideas - any suggestions?
/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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
对此问题有两种可能的解释:
The are two possible explanations to this issue:
尝试使用
timeout
参数:Try to use the
timeout
param:以前有用吗?
您向 whois 服务器发出过多请求。减速。
之前没有工作吗?
您无法访问 whois 服务器
Was it working before?
You are making too many requests to whois server. Slow down.
Was not working before?
You can't reach whois server