高橋征義です。

Minero Aoki <aamine / dp.u-netsurf.ne.jp>さん:
> > で、たとえば現状のまま、例外をあげるとして、302が返ってきた場合の
> > Location: の情報を取り出す場合、どうすればいいんでしょうか?
> > どこにメッセージヘッダの情報が入っているのか分からないのですが……。
> 
> たとえば get2 なら(1.1.11 仕様)
> 
> begin
>   http.get2( path, user_header ) do |f|
>     header = f.header
>     f.entity( save_file )
>   end
> rescue Net::HTTPMovedTemporarily
>   if loc = f.header['Location'] then
>     取りなおし
>   end
> end
> 
> てな感じになります。get では情報が足りないので(現状では)無理です。

なるほど。って、Net::HTTPMovedTemporarily ではなく
ProtoRetryError ですよね?

それと、net-1.1.11 のNet::HTTP::Proxyがちょっとまずいです。

--- protocol.rb.org	Tue Mar 28 20:20:09 2000
+++ protocol.rb	Tue Mar 28 20:23:33 2000
@@ -95,7 +95,7 @@
             @port    = port
           end
 
-          def connect( addr, port )
+          def connect( addr = nil , port = nil )
             super @proxyaddr, @proxyport
           end
           private :connect

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