python3中requests库重定向获取URL

 

复制代码
import requests

def request_jd():
url = 'http://jd.com/'
#allow_redirects= False 这里设置不允许跳转
response = requests.get(url=url, allow_redirects=False)

print(response.headers)
print(response.status_code)
复制代码

看结果 返回response header 中有一个属性 Location ,代表重定向了 'Location': 'https://www.jd.com'

 

获取跳转url方法一:使用response.headers.get('location')方法

import requests

def request_jd():
    url = 'http://jd.com/'
    response = requests.get(url=url, allow_redirects=False)#禁用自动跳转
    #return response.headers.get('location')
    return response.headers.get('Location')

方法二

其实默认情况下, requests 会自动跳转,如果发生了重定向,会自动跳到location 指定的URL,我们只需要访问URL, 获取response, 然后 response.url 就可以获取到真实的URL啦。

import requests

def request_jd():
    url = 'http://jd.com/'
    response = requests.get(url=url)
    
    return response.url#不禁用跳转,自动跳转后获取response的url

两种方法,第一种好理解一些,第二种更简单直接。还是把requests库学习好

posted @   kliziM  阅读(2062)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示