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