高橋征義です。

Minero Aoki <aamine / dp.u-netsurf.ne.jp>さん:
> せっかくあったので残したかったのですが、前述のように環境がないこと、
> まず動くかどうか確かめたかったこと、それから、session.rb で
> 包括的に対応できるならそうしたいということが理由で外してました。

まあ、環境がないのは仕方ないですよね。
あ、でも、公開proxyサーバを使えば試せるのかな?
http://ringer.etl.go.jp/
↑こことかどうでしょう。

> それで今 http-access.rb と telnet.rb を見てみたのですが、
> 
> 1  目標ホストにつなぐふりをしてTCP接続をプロクシにつなぐ
> 2  HTTPでは、パスを絶対パスにする
> 
> の 2 点でプロクシに対応できるようになりますか?

絶対パスというか、URLそのままです(schemeもつけたまま)。
"GET http://www.ruby-lang.org/ja/ HTTP/1.0\n\n"
みたいな。

HTTPSession に proxyの情報と機能を持たせるべきなのか、
それとも HTTPSession はそのままで、それを使う側でproxyの有無に
より session の張り方を変えるべきなのか、どっちがいいんでしょうね。

> これでよければ、実装します。

うう、わがままですみませんです(_o_)

> 遅ればせながら、今入れました。
> 前回と同じく CVS かぼくのサイトか RAA からどうぞ。

ところで、 net-1.1.0 を試しているのですが、どうもうまくいきません。
後ろにくっつけたパッチをあてないと、

(eval):1:in `socket_type': uninitialized constant Net::Session::ProtocolSocket (NameError)

というようなエラーが出ました。Rubyは1.4.3です。

> 1.1.0 はあくまでプロトタイプのつもりですから、バージョンを下げるよりは
> 機能を追加して対処しようと思います。

おお、期待してます(^^)


高橋征義 (TAKAHASHI Masayoshi)       Email:maki / inac.co.jp

diff -ru net-1.1.0.org/net/http.rb net-1.1.0/net/http.rb
--- net-1.1.0.org/net/http.rb	Fri Dec 17 22:46:45 1999
+++ net-1.1.0/net/http.rb	Tue Dec 21 12:11:07 1999
@@ -22,7 +22,7 @@
   Version = '1.1.0'
 
   session_setvar :port,         '80'
-  session_setvar :command_type, 'HTTPCommand'
+  session_setvar :command_type, 'Net::HTTPCommand'
 
 
   def get( path = '/', header = nil, ret = '' )
diff -ru net-1.1.0.org/net/session.rb net-1.1.0/net/session.rb
--- net-1.1.0.org/net/session.rb	Fri Dec 17 22:46:45 1999
+++ net-1.1.0/net/session.rb	Tue Dec 21 12:11:41 1999
@@ -118,7 +118,7 @@
 
     session_setvar :port,         'nil'
     session_setvar :command_type, 'nil'
-    session_setvar :socket_type,  'ProtocolSocket'
+    session_setvar :socket_type,  'Net::ProtocolSocket'
 
 
     def initialize( addr = 'localhost', port = nil )