From: TAKAHASHI Masayoshi Date: 1999-06-01T12:46:10+09:00 Subject: [ruby-list:14715] HTTP Client with Ruby 高橋征義です。 # というわけで、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とかの標準ライブラリを作る、って話はどうなっている のでしたっけ?