高橋征義です。

# というわけで、ruby-listで振り直しです(^^;
## お手数おかけしました(_o_)>まつもとさん、なひさん

ええっと、WWWページの更新時刻を取得するエージェントが
ほしいと思いまして……とりあえずPerlのLWP::Simpleで
書いてみたものの、

・やっぱ並行でエージェントとばしたい。
(結構時間がかかる。遅い時だと現在49ドメインで3分くらいかかったりする。
 HEADリクエストだけなのに)

・同じホストへのリクエストは一回の接続でまとめて取得するべき。
(けっこう重複しているので。)

と考えた結果、結論としては「LWPはさくっと捨ててRubyに移行」という
ことになりました。LWPngはちょっと複雑そうなので。

# 最初からRubyじゃなかったのは、そこのマシンにインストールされて
# いたのがPerlだけだったためです。
# なんとかRubyはインストールしました。

そこで、Connection: Keep-Alive (というかHTTP/1.1)に対応した
HTTPクライアントのRubyライブラリを試してみました。試したのは
二つです。

1.http-access (前橋さん作成、contribにあります)
2.KNClient (なひさん作成、「るびゐ、あり□」
  ( http://www.jin.gr.jp/~nahi/Ruby/ruby.shtml#KNClient )
  にあります)

最初はhttp-accessを使ってみたのですが、どうもコネクションを張った
ままrequestするのがうまくいきませんでした(毎回closeしてopenしなおせば
OKでした)。

# 直りそうですか?>前橋さん

で、KNClientでは、どうやら私の使いたいのはKNSession クラスのようなの
ですが、それは「# not implemented. ^^;」ということらしい(^^;;のでした。
うーん。

# implementの予定はいかがでしょう?>なひさん
# そもそもKNClinetってKeep-Aliveできないんでしたっけ?

とはいえ、http-accessで毎回closeするように書いたテスト用のスクリプト
でも、ちゃんとスレッドを使えばかなり早そうでした。さすがスレッド。

というわけで、HTTP/1.1対応が改善されるといいなあ、という他力本願モード
なのでした(^^;

高橋征義 (TAKAHASHI Masayoshi)       Email:maki / inac.co.jp
そもそもRubyでSMTPとかの標準ライブラリを作る、って話はどうなっている
のでしたっけ?