星澤です。

on 02.2.8 9:46 PM, Minero Aoki at aamine / mx.edit.ne.jp wrote:
>
> 挙げられていたサイトにアクセスしてみたのですが、いまはいろんな
> 他のエラーも出るようになっています。何回かやってみた感じだと、
> 単純に混んでるのも原因みたいです。とりあえずタイムアウトはもう
> すこし長めにしておいたほうがいいでしょう。
> 
> ただそれとは別に、サーバが EOF を待っているようなフシがあります。
> 添付のパッチを net/http.rb にあてて
> 
> header['Connection'] = 'close'
> 
> を試してみてください。うまくいくようであれば取りこみます。
 
 
上記の設定を試してみた結果は以下の通りです。

(Aパターン)
$ ruby http_test.rb http://www.interq.or.jp/tokyo/kk-kbys/
ERROR: Connection reset by peer
--> 解決しました。

$ ruby http_test.rb http://www.nagata-h.net/
ERROR: Connection reset by peer
--> 解決しました。


(Bパターン)
$ ruby http_test.rb http://www.yatchan.com/
ERROR: execution expired
--> 解決しました。

$ ruby http_test.rb http://www.fujiwaramasashi.gr.jp/
ERROR: execution expired
--> header['Connection'] = 'close'  を指定すると
ERROR: End of file reached が発生しますが、
header['Connection'] = 'close'  を指定しなければ正常終了します。


(Cパターン)
$ ruby http_test.rb http://j-expert.com/
ERROR: execution expired
(Bと同じだが、うまくgetできる時もある)
--> 解決しました。


あおきさん、解決のメドがつき、またコーディング上のアドバイスまで
いただき、とても感謝しております。
また、タイムアウト値が厳しすぎるというのは気が付きませんでした。
ありがとうございました。


-- 
星澤 隆 / Takashi Hoshizawa
mail: t_hoshizawa / mbg.nifty.com