Python 官方文档:入门教程 => 点击学习
目录通过requests.session()查看默认配置下请求头包装请求头,让他看起来更帅气cookies获取过程总结通过requests.session()查看默认配置下请求头 i
import requests
session = requests.session()
print("默认配置下的请求头:",session.headers.items())
# 默认配置下的请求头:
ItemsView({'User-Agent': 'python-requests/2.21.0',
'Accept-Encoding': 'gzip, deflate',
'Accept': '*/*',
'Connection': 'keep-alive'})"
我们可以看到在默认情况下,请求头的内容很机器,没有灵性。
如果大家使用的IDE是PyCharm
的话,ctrl+右键
点击session.headers的headers
查看源码。
得到如图:
使用的是default_headers()
(默认请求头),这里我们依然看不到print
打印在终端的内容,所以继续ctrl+右击
点击default_headers()
。
得到如图:
OK! But it’s not over,这里我们还有User-Agent
的value
没有看到,但是经过猜测我们不难得到default_user_agent()
的内容就是Python-requests/2.21.0
。
首先,了解对headers
进行一个简单的增删改查操作
包装
包装我们的Headers
headers = {
'Origin': 'https://***.com',
'Host': '***.com',
'Referer': 'Https://**.com/,
'User-Agent': 'Mozilla/5.0',
}
session.headers.update(headers)#字典的更新方法
换一种大家都在用的方式,在请求的时候添加headers
参数即可:
response = session.get(url, headers=headers)
验证两种方式是否得到的效果一样
结论:两种方式在response
端看到的效果等同,区别在于第一种方式session是永久的,而第二种常用的方式只是在请求的时候携带过去的,所以当我们查看session的时候为空,那么这就有一个问题,我们在后续的请求中任然需要带上headers=
这个参数,似乎它并没有那么好?
连续带了两次Headers
,这样没有什么不好,你开心就好~~~。
Headers
,Cookies
内的信息headers
中仅写入user-agent
,Cookies
为空session
中Cookies
,得到响应端返回的cookies
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: 解读requests.session()获取Cookies全过程
本文链接: https://lsjlt.com/news/197526.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0