# How to get redirect log in Mechanize?

**URL:** <https://www.ruby-forum.com/t/how-to-get-redirect-log-in-mechanize/174634>\
**Category:** Ruby\
**Created:** [August 30, 2009, 11:59am UTC](https://www.ruby-forum.com/t/how-to-get-redirect-log-in-mechanize/174634 "2009-08-30T11:59:01Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![roddik](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b3f665/32.png) [@roddik](https://www.ruby-forum.com/u/roddik)\
**Post date:** [August 30, 2009, 11:59am UTC](https://www.ruby-forum.com/t/how-to-get-redirect-log-in-mechanize/174634/1 "2009-08-30T11:59:01Z")

</div>

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

require ‘mechanize’

m = WWW::Mechanize.new  
m.get(‘[http://google.com](http://google.com)’)  
how to get the list of the pages mechanize was redirected through? (Like  
[http://google.com](http://google.com) =\> [http://www.google.com](http://www.google.com) =\> [http://google.com.ua](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…

---

<div class="post-metadata">

**Author:** ![roddik](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/r/b3f665/32.png) [@roddik](https://www.ruby-forum.com/u/roddik)\
**Post date:** [August 30, 2009, 12:05pm UTC](https://www.ruby-forum.com/t/how-to-get-redirect-log-in-mechanize/174634/2 "2009-08-30T12:05:07Z")

</div>

On Aug 30, 2009, at 02:59 , Rodion R. wrote:

> Here is the code in mechanize responsible for redirection

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.
