Ruby 初心者スレッド Part 29
■ このスレッドは過去ログ倉庫に格納されています
0084デフォルトの名無しさん
2009/07/06(月) 02:44:40特定のurlで下記のスクリプトがエラーを出力します。
エラー文: `close': closed stream (IOError)
============= ここから ============
require 'open-uri'
require 'zlib'
header = {'accept-encoding' => 'gzip'}
url = 'http://gimpo.2ch.net/bakery/subject.txt' # errorが起きる
url2 = 'http://anchorage.2ch.net/live/subject.txt' # errorが起きない
url3 = 'http://gimpo.2ch.net/salt/subject.txt' # errorが起きる
open(url, header) do |io|
Zlib::GzipReader.wrap(io) do |gz|
puts gz.read # urlの中身が出力されたあとにerrorが起きる
end
end
============= ここまで ============
open-uri, zlib, 2chの鯖のどこに問題があるのでしょうか?
openのブロック付き呼び出しの中でさらに別のIOオブジェクトをブロック付きで呼び出していることが原因なのかと考えたのですが、
特定のurlでのみ起きる理由が分かりません・・・。
■ このスレッドは過去ログ倉庫に格納されています