python如何获取跳转后的url

python如何获取跳转后的url

作者:Rhett Bai发布时间:2026-03-29 02:04阅读时长:14 分钟阅读次数:5
常见问答
Q
Python中怎样获取HTTP请求的最终跳转地址?

在使用Python发送HTTP请求时,如何获取响应跳转后的最终URL地址?

A

利用requests库获取跳转后的URL

可以使用Python的requests库发送请求,默认情况下它会自动处理跳转。获取跳转后的URL可以通过response对象的url属性实现,例如:

import requests
response = requests.get('http://example.com')
final_url = response.url
print(final_url)

Q
如何在Python中禁用自动跳转,同时手动获取跳转位置?

我想控制请求跳转行为,不让requests自动跳转,如何获取跳转地址?

A

关闭自动跳转并查看Location头部

在requests库中,可以通过设置allow_redirects=False禁止自动跳转。服务器返回302或301状态码时,响应头中的Location字段即是跳转目标地址。例如:

import requests
response = requests.get('http://example.com', allow_redirects=False)
if 'Location' in response.headers:
redirect_url = response.headers['Location']
print(redirect_url)

Q
使用Python抓取页面时,如何处理多次跳转来获取最终URL?

当网页存在多次重定向时,Python脚本如何一步步获取最终访问地址?

A

跟踪重定向历史获取最终网页地址

requests库的response对象包含一个history属性,是一个包含中间跳转response的列表。最终访问的URL为response.url,通过遍历history可获取各跳转地址:

import requests
response = requests.get('http://example.com')
for resp in response.history:
print('Redirected from:', resp.url)
print('Final URL:', response.url)