How to get redirect log in Mechanize?

Hello. In ruby, if you use mechanize following 301/302 redirects like
this

require 'mechanize'

m = WWW::Mechanize.new
m.get('http://google.com')
how to get the list of the pages mechanize was redirected through? (Like
http://google.com => http://www.google.com => http://google.com.ua)

Here is the code in mechanize responsible for redirection

elsif res_klass <= Net::HTTPRedirection
        return page unless follow_redirect?
        log.info("follow redirect to: #{ response['Location'] }") if log
        from_uri = page.uri
        raise RedirectLimitReachedError.new(page, redirects) if
redirects + 1 > redirection_limit
        redirect_verb = options[:verb] == :head ? :head : :get
        page = fetch_page( :uri => response['Location'].to_s,
                            :referer => page,
                            :params => [],
                            :verb => redirect_verb,
                            :redirects => redirects + 1
                         )
        @history.push(page, from_uri)
        return page

but trying to m.history.map {|p| puts p.uri} shows 3 times the uri of
last page..

···

--
Posted via http://www.ruby-forum.com/.

Look at the rdoc for WWW::Mechanize and see how they wire up the logging instance. You need to be logging at the 'info' level to see the redirects, but more importantly, you need a logger. The above code doesn't have one.

···

On Aug 30, 2009, at 02:59 , Rodion Raskolnikov wrote:

Hello. In ruby, if you use mechanize following 301/302 redirects like
this

require 'mechanize'

m = WWW::Mechanize.new
m.get('http://google.com')
how to get the list of the pages mechanize was redirected through? (Like
http://google.com => http://www.google.com => http://google.com.ua)

Here is the code in mechanize responsible for redirection