ruby – open(“http://www.google.com”)失败但wget有效
发布时间:2020-12-17 02:59:13 所属栏目:百科 来源:网络整理
导读:开放失败: irb(main):001:0 require 'open-uri'= trueirb(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'
开放失败:
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] 我是否必须设置代理但我不知道正确的代理信息.. 解决方法
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| # ... } See Open-URI Documentation 此外,您的Ruby看起来很旧:/usr/lib/ruby/1.8/.做ruby -v,如果它不是至少1.8.7我建议安装RVM,然后使用它来安装当前的Ruby(1.9.2)或至少最新的1.8版本(1.8.7).检查RVM Prerequisites页面,然后按照installation directions,包括有关修改帐户启动脚本的部分,然后阅读有关安装Ruby gems的部分. 我不建议通过yum或apt使用打包的Ruby.它们不会是最新的,似乎缺少我们期望从库存Ruby源安装的所有生物舒适. RVM使安装和管理多个ruby变得如此简单. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |