在Python中,我如何才能找到第一个重定向的URL
即。如果URL重定向自A - >; B - > C我想返回网址B
urllib
似乎只返回最终网址,但我想列出中间网址
答案 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])