Python:查找URL的第一个重定向

时间:2015-10-09 23:52:23

标签: python python-requests urllib2 urllib

在Python中,我如何才能找到第一个重定向的URL

即。如果URL重定向自A - >; B - > C我想返回网址B

urllib似乎只返回最终网址,但我想列出中间网址

1 个答案:

答案 0 :(得分:3)

我不确定您是否致力于使用urllib2,或者这是您尝试过的第一件事。

如果您愿意使用请求:

import requests
url = 'someurl'
r = requests.get(url)

print("first redirect",r.history[0].url)
print('full history')

for n,h in enumerate(r.history):
    print(n,h.url)

您可以使用h.status_code过滤掉不会重定向的内容

例如

codes_i_want = [301,some_code,some_other_code]
result = [h for h in r.history if h.status_code in codes_i_want]

if(result):
    print(result[0])