- 109 名前:デフォルトの名無しさん mailto:sage [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 = 'gimpo.2ch.net/bakery/subject.txt' # errorが一度も起きていない url2 = '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 ============= ここまで ============
|

|