Search code examples
pythonurllib2

How can I get the final redirect URL when using urllib2.urlopen?


I'm using the urllib2.urlopen method to open a URL and fetch the markup of a webpage. Some of these sites redirect me using the 301/302 redirects. I would like to know the final URL that I've been redirected to. How can I get this?


Solution

  • Call the .geturl() method of the file object returned. Per the urllib2 docs:

    geturl() — return the URL of the resource retrieved, commonly used to determine if a redirect was followed

    Example:

    import urllib2
    response = urllib2.urlopen('http://tinyurl.com/5b2su2')
    response.geturl() # 'http://stackoverflow.com/'