我有一個Ruby腳本(1.9.2p290),我試圖調用一些URL,然後將這些URL中的信息附加到一個文件中。問題是我不斷收到文件錯誤 - EOFError。什麼我想要做的一個例子是:如何通過Ruby腳本避免EOFError?
require "open-uri"
proxy_uri = URI.parse("http://IP:PORT")
somefile = File.open("outputlist.txt", 'a')
(1..100).each do |num|
page = open('SOMEURL' + num, :proxy => proxy_uri).read
pattern = "<img"
tags = page.scan(pattern)
output << tags.length
end
somefile.puts output
somefile.close
我不知道爲什麼我總是收到文件錯誤的這一端,或者我如何才能避免得到錯誤。我認爲這可能與我所調用的URL有關(基於此處的一些對話:What is an EOFError in Ruby file I/O?),但我不確定爲什麼會影響I/O或導致文件錯誤結束。
有關我在這裏可能會做錯的任何想法,或者我如何才能使其工作?
在此先感謝!
難道這是你的ISP重置連接?我見過這種情況。 –
不知道是否相關,但是page = open('SOMEURL'+ num'應該是'page = open('SOMEURL'+ num.to_s'。 – steenslag