我试图通过Ruby发出HTTP请求。当运行下面的代码:HTTP请求错误:名称或服务未知
require "net/http"
require "uri"
uri = URI.parse("http://google.com/")
# Will print response.body
Net::HTTP.get_print(uri)
我得到以下错误:
SocketError: initialize: name or service not known
from org/jruby/ext/socket/RubyTCPSocket.java:129:in `initialize'
from org/jruby/RubyIO.java:1179:in `open'
from c:/jruby-1.7.3/lib/ruby/1.9/net/http.rb:762:in `connect'
from org/jruby/ext/timeout/Timeout.java:105:in `timeout'
from c:/jruby-1.7.3/lib/ruby/1.9/net/http.rb:762:in `connect'
from c:/jruby-1.7.3/lib/ruby/1.9/net/http.rb:755:in `do_start'
from c:/jruby-1.7.3/lib/ruby/1.9/net/http.rb:744:in `start'
from c:/jruby-1.7.3/lib/ruby/1.9/net/http.rb:454:in `get_response'
from c:/jruby-1.7.3/lib/ruby/1.9/net/http.rb:412:in `get_print'
from (irb):29:in `evaluate'
from org/jruby/RubyKernel.java:1066:in `eval'
from org/jruby/RubyKernel.java:1409:in `loop'
from org/jruby/RubyKernel.java:1174:in `catch'
from org/jruby/RubyKernel.java:1174:in `catch'
from c:/jruby-1.7.3/bin/irb:13:in `(root)'
这可能是代理相关的,但我不知道。我该如何解决这个问题?
您的机器是否连接到互联网?你有没有尝试过另一个Ruby? –
“这可能与代理有关”,所以请告诉我们,您是否通过代理运行? –
是的,我。我尝试过使用httpclient库做同样事情的其他方式,在这种情况下,它给了我一个arg错误,指出代理:8080无效。我尝试用手动代理设置覆盖它,但它总是返回相同的错误消息。 – user472875