2010-08-24 23 views

Respuesta

31

Llame al método .geturl() del objeto de archivo devuelto. Per la urllib2 docs:

geturl() - devolver el URL del recurso recuperada, utilizado comúnmente para determinar si se ha seguido un redireccionamiento

Ejemplo:

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

cómo manejar cuando hay múltiples URLs intermedios y quiero URL final? Esto no funciona para ese caso. – Kishan

4

El valor de retorno de urllib2.urlopen tiene un método geturl() que debería devolver la url real (es decir, la última redirección).

1

ej .: urllib2.urlopen('ORIGINAL LINK').geturl()

urllib2.urlopen(urllib2.Request('ORIGINAL LINK')).geturl()

Cuestiones relacionadas