Python 使用urllib2.urlopen时,如何获取最终重定向URL?
我正在使用Python 使用urllib2.urlopen时,如何获取最终重定向URL?,python,urllib2,Python,Urllib2,我正在使用urllib2.urlopen方法打开URL并获取网页的标记。其中一些站点使用301/302重定向来重定向我。我想知道我被重定向到的最终URL。如何获取此信息?调用返回的文件对象的.geturl()方法。根据: geturl()-返回检索到的资源的URL,通常用于确定是否遵循了重定向 例如: import urllib2 response = urllib2.urlopen('http://tinyurl.com/5b2su2') response.geturl() # 'http:/
urllib2.urlopen
方法打开URL并获取网页的标记。其中一些站点使用301/302重定向来重定向我。我想知道我被重定向到的最终URL。如何获取此信息?调用返回的文件对象的.geturl()
方法。根据:
geturl()
-返回检索到的资源的URL,通常用于确定是否遵循了重定向
例如:
import urllib2
response = urllib2.urlopen('http://tinyurl.com/5b2su2')
response.geturl() # 'http://stackoverflow.com/'
urllib2.urlopen
的返回值有一个geturl()
方法,该方法应返回实际(即上次重定向)url。您可以使用HttpLib2
和follow\u all\u redirects=True
并从响应头获取内容位置。请参阅以获取示例。例如:
urllib2.urlopen('ORIGINAL LINK').geturl()
urllib2.urlopen(urllib2.Request('ORIGINAL LINK')).geturl()
当存在多个中间url且我想要最终url时,如何处理?这不适用于那种情况。