python - 如何从请求中获取原始 url

标签 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 调用的原始 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/

相关文章:

python - python中的日期格式不一致

python - Scipy LeastSq 误差线

python - 如何在 python 3 中使用 urllib 请求解决 SSL 握手失败?

python - 使用 Xpath 从网页获取字符串

python - 如何确保Python pandas中的第一个工作周以1开始?

python - SendKeys 在线程中运行 2 次后失败

python请求ssl握手失败

python - 多处理 : optimize CPU usage for concurrent HTTP async requests

Python 相当于 curls --form : Create multipart form-data post request with data in "form" parameter

python - 使用 matplotlib 为每个 x 轴值设置多个条形