ruby - 使用 mechanize gem 时出现错误 "getaddrinfo: No such host is known. (Socke tError)"

标签 ruby windows-xp mechanize mechanize-ruby

我尝试了以下代码:

require 'mechanize'

agent = Mechanize.new{|a| a.ssl_version, a.verify_mode = 'SSLv3', OpenSSL::SSL::VERIFY_NONE}
    page = agent.get "https://gegsltraining.aravo.com/"
page=page.link_with(:dom_class => "button").click()

但是我很糟糕,出现以下错误。

D:\WIPData\Ruby\Scripts>mechanize_dowload.rb
C:/Ruby193/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net/http/persist
ent/ssl_reuse.rb:29:in `initialize': getaddrinfo: No such host is known.  (Socke
tError)
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net
/http/persistent/ssl_reuse.rb:29:in `open'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net
/http/persistent/ssl_reuse.rb:29:in `block in connect'
        from C:/Ruby193/lib/ruby/1.9.1/timeout.rb:54:in `timeout'
        from C:/Ruby193/lib/ruby/1.9.1/timeout.rb:99:in `timeout'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net
/http/persistent/ssl_reuse.rb:29:in `connect'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:755:in `do_start'
        from C:/Ruby193/lib/ruby/1.9.1/net/http.rb:750:in `start'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net
/http/persistent.rb:628:in `start'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net
/http/persistent.rb:570:in `connection_for'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/net-http-persistent-2.8/lib/net
/http/persistent.rb:926:in `request'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mechanize-2.5.1/lib/mechanize/h
ttp/agent.rb:258:in `fetch'
        from C:/Ruby193/lib/ruby/gems/1.9.1/gems/mechanize-2.5.1/lib/mechanize.r
b:407:in `get'
        from D:/WIPData/Ruby/Scripts/mechanize_dowload.rb:5:in `<main>'

D:\WIPData\Ruby\Scripts>

相同的脚本在我的个人计算机上运行得很好,但在我的公司中却运行不佳。

你能请我解决这个问题吗?

提前致谢

最佳答案

该错误意味着 dns 未解析。根据我的经验,这通常是因为您的互联网已关闭。

关于ruby - 使用 mechanize gem 时出现错误 "getaddrinfo: No such host is known. (Socke tError)",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14454058/

相关文章:

ruby - 将逗号分隔的字符串转换为 ruby​​ 中的哈希

Ruby:对不包括某些符号的数组进行排序

python - 在 Windows XP 上安装后,加密模块对 Python 不可见

ruby - 自动网页抓取问题

ruby-on-rails - ruby mechanize 网站抓取总是只返回 javascript 数据

ruby-on-rails - 设计未显示的 log_in 错误

.net - 是否可以在 Windows XP 上运行 CoreCLR?

c++ - 如何根据windows版本正确加载GetMappedFileName

Python:无法在 Mac 上导入 Mechanize 模块

ruby - 如何按字母顺序对数组进行排序?