requests.get得到的headers信息不全

        在使用python工作时,有情况下会需要对有状态302的重定向网站的响应返回信息headers进行解析和现有url拼接,以此来获得目标网页的最终目标url

        其中我使用的是requests库,用 requests.get(url) 对网页内容进行获取,然后对获取到信息的headers进行解析,结果发现获取的信息有缺失,例如Set-Cookie,Location等内容并没有获取到。后来我尝试使用requests.head(url).headers方法获取headers信息,就成功了,headers信息没有缺失。

        目前出现这个问题的原因我还在继续探究,如果有大佬知道是什么原因的话希望不吝赐教。

        出大错了,get直接就是跳转后的网页的headers,而requests.head仅仅只是中间网页的headers,我都不用拼接url了,直接get获取的response.url输出一下就是我需要的url。 一开始确实给我整懵了,到底还是第一次碰到,一开始没想明白

`r=requests.get(url.headers=kv)` 这行代码是使用Python的`requests`库发起一个GET请求的示例。在这行代码中,`requests.get`是发起HTTP GET请求的函数,`url`是目标URL的变量,而`headers=kv`是一个指定HTTP请求头的参数,其中`kv`是一个字典变量,包含了请求头中的键值对。 具体来说: - `requests`是Python的一个第三方库,用于发送HTTP请求。 - `get`是`requests`库中用于发起GET请求的方法。 - `url`通常是目标网页的URL地址,这里假设已经有一个变量`url`存储了这个地址。 - `headers=kv`部分是传递给GET请求的头部信息。`kv`是一个字典,包含了键值对,例如`{'User-Agent': 'Mozilla/5.0'}`,其中键(Key)是头部字段的名称,值(Value)是对应的内容。请求头通常用于传递关于请求者和请求细节的信息。 如果要正确地使用这个函数,需要首先确保已经安装了`requests`库,然后导入`requests`模块,并且正确地构造URL和headers字典。下面是一个简单的例子: ```python import requests url = "http://www.example.com" # 目标URL地址 headers = { 'User-Agent': 'Mozilla/5.0', # 模拟浏览器的用户代理 'Accept-Language': 'zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7' # 接受的语言 } r = requests.get(url, headers=headers) # 发送GET请求并传递headers ``` 这段代码会向`http://www.example.com`发起一个GET请求,并设置请求头以模拟特定的浏览器和接受语言偏好。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值