如何从请求中获取原始 url

How to get original url from requests

在执行以下操作时:

>>> res=requests.get('http://www.hulu.com/return-of-the-one-armed-swordsman')
>>> res.url
u'http://www.hulu.com/watch/800769'

如何获得从 res 调用的原始 url。也就是说,我如何将 res 对象获取到 return http://www.hulu.com/return-of-the-one-armed-swordsman?

requests 保留重定向请求的历史...从中获取第一个条目...

import requests

res=requests.get('https://httpbin.org/status/301')
res.url
# https://httpbin.org/get
res.history[0].url
# https://httpbin.org/status/301

注意 - 您可能希望满足未发生重定向的情况,例如:

url = res.history[0].url if res.history else res.url

当然 - 另一种方法是将你的 URL 保存在一个变量中并将其传递给 requests.get - 然后你就知道你要求从什么开始......