我目前正在编写一个脚本,它遍历URL列表并对它们执行一些处理。然而,我列表中的一个URL给我一个问题。代码如下:使用Ruby发出HTTP请求时发生EOF错误
url = "https://secure.www.alumniconnections.com/olc/pub/CDB/events/attendance.cgi? tmpl=attendance&event=2309515&sort=4"
uri = URI.parse(url)
response = Net::HTTP.get_response(uri)
最后一行引发以下错误:
EOFError: end of file reached
from /usr/lib/ruby/1.8/net/protocol.rb:135:in `sysread'
from /usr/lib/ruby/1.8/net/protocol.rb:135:in `rbuf_fill'
from /usr/lib/ruby/1.8/timeout.rb:67:in `timeout'
from /usr/lib/ruby/1.8/timeout.rb:101:in `timeout'
from /usr/lib/ruby/1.8/net/protocol.rb:134:in `rbuf_fill'
from /usr/lib/ruby/1.8/net/protocol.rb:116:in `readuntil'
from /usr/lib/ruby/1.8/net/protocol.rb:126:in `readline'
from /usr/lib/ruby/1.8/net/http.rb:2028:in `read_status_line'
from /usr/lib/ruby/1.8/net/http.rb:2017:in `read_new'
from /usr/lib/ruby/1.8/net/http.rb:1051:in `request'
from /usr/lib/ruby/1.8/net/http.rb:948:in `request_get'
from /usr/lib/ruby/1.8/net/http.rb:380:in `get_response'
from /usr/lib/ruby/1.8/net/http.rb:543:in `start'
from /usr/lib/ruby/1.8/net/http.rb:379:in `get_response'
from (irb):5
from /usr/lib/ruby/1.8/uri/ftp.rb:190
在我的名单没有其他网址似乎是给我任何的悲伤。任何人都可以解释为什么我得到这个错误?
您的第一个片段可能导致无限循环吗? –
是的,我相信可以。不知何故,我从来没有抓到过。我会做一个快速修改来解决,尽管我不能保证它会是最好的解决方案。 – scradge