3

Ruby経由で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)'

これはおそらくプロキシ関連ですが、よくわかりません。この問題を解決するにはどうすればよいですか?

4

2 に答える 2

1

Ruby は、環境変数で指定された HTTP プロキシを自動的に使用します。

EXPORT http_proxy=http://foo.bar:8080/
ruby your_http_script.rb
于 2013-07-17T19:54:25.000 に答える