requests库手动添加cookie多种方法(亲测)

import requests

# 访问 https://httpbin.org/cookies 来查看我们的cookie变化
url = "https://httpbin.org/cookies"


# 创建一个session对象
ss = requests.session()
# 初始 cookie
headers = {
    "Cookie": "c=000"
}
check = ss.get(url, headers=headers)
print(check.content.decode("UTF-8"))


'''
方法一 
    add_dict_to_cookiejar()
    1、requests 能添加新的 cookie 字段
    2、会重置掉最初的 cookie 字段
'''
c_1 = {"c1": "123"}
# 替换初始 cookie
requests.utils.add_dict_to_cookiejar(ss.cookies, c_1)  # 注意:cookiejar(ss.cookies) 为全局的 cookiejar
r_1 = ss.get(url)
print(r_1.content.decode("UTF-8"))


'''
方法二
    ss.cookies.update()
    1、更新 requests cookie 字段,且不会覆盖 add_dict_to_cookiejar 增加的字段
'''
c_2 = {"c2": "234"}
# 更新cookie
ss.cookies.update(c_2)
r_2 = ss.get(url)
print(r_2.content.decode("UTF-8"))


'''
方法三
    self.cookies = cookiejar_from_dict({}) 来自源码
    所以使用 cookiejar_from_dict(),将 dict 转换成一个 RequestsCookieJar 并赋值
    因为是重新赋值, 所以会重置掉之前全部的 cookie 字段
'''
c_3 = {"c3": "345"}
ss.cookies = requests.utils.cookiejar_from_dict(c_3)
r_2_1 = ss.get(url)
print(r_2_1.content.decode("UTF-8"))


总结:
 方法一:add_dict_to_cookiejar,便于在cookie递增字段情况使用。
 方法二和方法三:在页面重定向之后如果刷新cookie字段的情况,选择其中一种使用。

以上方法有不足之处,还请留言批评,懒人博主,上线随缘~~~

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值