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

Python: Find First Redirect of URL

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

的 URL

即如果 URL 从 A -> B -> C 重定向,我只想 return url B

urllib好像只有return最后的url不过我想挂个中介URL

我不确定您是否致力于使用 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])