解决Python中requests库的session无法保存cookie的问题
2021/11/10 11:40:40
本文主要是介绍解决Python中requests库的session无法保存cookie的问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
当我们在使用Python的requests库做接口自动化时,我们都知道只要使用session = requests.session()
就会自动保存cookie
但当我在做公司的接口自动化项目时,发现保存的cookie不生效,通过请求登录接口后打印cookie,又发现有cookie,这里就是我比较头大了o(╥﹏╥)o
查找多方资料后,终于找到了原因,原来requests只能保持 cookiejar 类型的cookie,而我们手动构建的cookie是dict类型的。所以我们需要把dict转为 cookiejar类型,转换方式如下:
# 将CookieJar转为字典: cookies_dict = requests.utils.dict_from_cookiejar(resp.cookies) # 将字典转为CookieJar: cookies = requests.utils.cookiejar_from_dict(cookie_dict, cookiejar=None, overwrite=True) # 其中cookie_dict是要转换字典 # 转换完之后就可以把它赋给cookies 并传入到session中了: session = requests.Session() session.cookies = cookies
实际使用时需要观察cookie格式,比如我们公司目前是将cookie以key-value的形式放在请求头中,所以我这里的处理方式是将cookie转为字典,然后将字典里的内容拼接为字符串。
这篇关于解决Python中requests库的session无法保存cookie的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python