open ("http://www.google.com') не удалось, но wget работает - PullRequest
4 голосов
/ 14 ноября 2010

открыть не удалось:

irb(main):001:0> require 'open-uri'
=> true
irb(main):002:0> open("http://www.google.com")
RuntimeError: Non-HTTP proxy URI: 
    from /usr/lib/ruby/1.8/open-uri.rb:203:in `open_http'
    from /usr/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
    from /usr/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
    from /usr/lib/ruby/1.8/open-uri.rb:162:in `catch'
    from /usr/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
    from /usr/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
    from /usr/lib/ruby/1.8/open-uri.rb:518:in `open'
    from /usr/lib/ruby/1.8/open-uri.rb:30:in `open'
    from (irb):2

Но wget () работает ...

root@pierr-desktop:/work/web/yy# wget www.google.com
--2010-11-14 20:00:39--  http://www.google.com/
Resolving www.google.com... 72.14.203.104, 72.14.203.99
Connecting to www.google.com|72.14.203.104|:80... connected.
HTTP request sent, awaiting response... 302 Found
......... 

2010-11-14 20:00:40 (47.7 KB/s) - `index.html' saved [9097]

Нужно ли настраивать прокси, но я не знаю правильный проксиинформация ..

Ответы [ 2 ]

5 голосов
/ 15 ноября 2010

Open-URI выбирает прокси из среды, если он там установлен, или вы можете определить его при открытии соединения, или даже отключить прокси, если он установлен в среде:

# The environment variables such as http_proxy, https_proxy and ftp_proxy
# are in effect by default.  :proxy => nil disables proxy.

open("http://www.ruby-lang.org/en/raa.html", :proxy => nil) {|f|
  # ...
}

См. Документацию Open-URI

Кроме того, ваш Ruby выглядит старым: /usr/lib/ruby/1.8/.Выполните ruby -v, и если это не как минимум 1.8.7, я бы порекомендовал установить RVM , а затем использовать его для установки текущей версии Ruby (1.9.2) или хотя бы последней версии 1.8 (1.8.7).).Проверьте страницу Предварительные требования RVM , затем следуйте инструкциям по установке 1015 *, включая части об изменении скрипта запуска вашей учетной записи, а затем прочитайте часть об установке Ruby gems .

Я не рекомендую использовать упакованный Ruby через yum или apt.Они не появятся в последнее время и, кажется, пропускают все удобства существ, которые мы ожидаем от стандартной установки Ruby.RVM упрощает установку и управление несколькими рубинами , поэтому .

1 голос
/ 14 ноября 2010

Если для вашей системы определены параметры прокси, вы можете проверить это с помощью:

1- Проверьте файл /etc/wgetrc для http_proxy параметр конфигурации:

2- Проверьте переменную среды, используя: echo $HTTP_PROXY

...