ruby:来自http.rb的ECONNREFUSED

时间:2014-12-27 13:39:14

标签: ruby http connection

我正在尝试用Ruby解析rss feed。这是我的(工作)代码,带有实际的feed url:

include 'rss'

myfeed = RSS::Parser.parse('http://allmusicnews.altervista.org/blog/feed/', false)

如果我从我的开发计算机(Mac OS 10.9)运行它,一切正常。如果我从我的服务器(Debian 7)运行它,我得到的只是:

/home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/http.rb:879:in `initialize': Connection refused - connect(2) for "allmusicnews.altervista.org" port 80 (Errno::ECONNREFUSED)
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/http.rb:879:in `open'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/http.rb:879:in `block in connect'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/timeout.rb:74:in `timeout'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/http.rb:878:in `connect'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/http.rb:863:in `do_start'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/net/http.rb:852:in `start'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:318:in `open_http'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:736:in `buffer_open'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:211:in `block in open_loop'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:209:in `catch'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:209:in `open_loop'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:150:in `open_uri'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:716:in `open'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/open-uri.rb:724:in `read'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rss/parser.rb:103:in `normalize_rss'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rss/parser.rb:89:in `initialize'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rss/parser.rb:76:in `new'
from /home/daniele/.rvm/rubies/ruby-2.2.0/lib/ruby/2.2.0/rss/parser.rb:76:in `parse'

其他rss Feed不会发生这种情况。例如:feeds.blogo.it/soundsblog/it似乎在两个平台上都运行良好。

我使用的是同一个Ruby版本(2.2.0),在两台计算机上都安装了RVM。同样的宝石。

任何线索,至少关于要寻找什么?

ps:它可能看起来与连接超时有关,但是当我突然运行我的脚本时,我看到上面的错误信息,没有空闲的等待时间......

1 个答案:

答案 0 :(得分:0)

请忽略我的问题。我射向了错误的目标。

实际上我害怕生产机器出现一些黑名单问题。我无法以任何方式连接到altervista.org服务器(lynx,telnet),我一直收到“连接拒绝错误”,所以这与我的Ruby代码无关......