在执行以下操作时:
>>> 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
对象返回 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
- 然后你就知道你要求从什么开始......
关于python - 如何从请求中获取原始 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30687683/