How to get final URL after redirection

Roy Smith roy at panix.com
Thu Oct 31 14:50:07 EDT 2013


On Oct 31, 2013, at 2:43 PM, Joel Goldstick wrote:

>> The "normal" way a redirect is done is to return a 301 (or 302) status code, and include a Location: line in the HTTP response headers.  If that was the case, you would just do a GET on the url with a library like requests and examine the status code and headers in the response object you got back.
>> 
>> This URL, however, doesn't do that.  What it does do is include:
>> 
>> <meta http-equiv="Refresh"  content="0; url=http://amazon.in/gp/offer-listing/B00AF856T2/?/ref=as_li_tf_tl?ie=UTF8&camp=3626&creative=24790&creativeASIN=9380349300&linkCode=as2&tag=mysm-21">
>> 
>> in the body, which does kind of the same thing, but in a horrible way.  I suspect they do this provide a hook for the google analytics tracking code in the window.onload handler.  Unless you wanted to include a full HTML and javascript execution environment in your application, you're pretty much toast here.
>> --
>> https://mail.python.org/mailman/listinfo/python-list
> 
> You might look at the requests module:
> http://www.python-requests.org/en/latest/api/
> 
> It has an 'allow_redirects' parameter that looks like you can set to
> get the final url.  Haven't tried it


I can't imagine this does anything other than the 30x processing described above (which won't work in the OP's case because that's not the mechanism used).

---
Roy Smith
roy at panix.com




More information about the Python-list mailing list