如何从请求中获取原始URL

时间:2015-06-06 21:20:46

标签: python python-requests

执行以下操作:

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

如何获取从res调用的原始网址。也就是说,我如何让res对象返回http://www.hulu.com/return-of-the-one-armed-swordsman

1 个答案:

答案 0 :(得分:14)

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

当然 - 另一种方法是将您的网址保存在变量中并将其传递给requests.get - 然后您就会知道您要求的内容......