Ruby 初心者スレッド Part 29
■ このスレッドは過去ログ倉庫に格納されています
0109デフォルトの名無しさん
2009/07/06(月) 16:09:48エラー文: `initialize': buffer error (Zlib::BufError)
困ったことに、通ったり通らなかったりします。
原因はたぶんですが2chのサーバが出力しているgzip圧縮したsubject.txtのほうだと思います。
板内のスレいずれかにカキコミがあればsubject.txtは書き換わるため、通る場合と通らない場合があるのだと予想しています。
しかしエラー文の意味がよく分からず、どのように回避すればよいのかが分かりません。
ちなみに拾ってきたgzip化subject.txtファイルをHDDに書き込んでアーカイバで開くと正しく読み取れています。
============= ここから ============
require 'open-uri'
require 'zlib'
header = {'accept-encoding' => 'gzip'}
url = 'http://gimpo.2ch.net/bakery/subject.txt' # errorが一度も起きていない
url2 = 'http://gimpo.2ch.net/kagu/subject.txt' # errorが起きたり起こらなかったりする
open(url, header) do |io|
Zlib::GzipReader.wrap(io) do |gz|
puts gz.read # urlの中身が出力されたあとにerrorが起きる
end
end
============= ここまで ============
■ このスレッドは過去ログ倉庫に格納されています