requests中会话cookie的增加、更新、删除

2024-04-11 16:58

本文主要是介绍requests中会话cookie的增加、更新、删除,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在requests库中可以定制会话级别的cookies,以保证整个通信过程中都可以使用到cookies


【增加】

#coding:utf-8
import requests
s = requests.session()
s.cookies.set('mycookie','value') #设置会话cookies
r=s.get('https://www.baidu.com')
print s.cookies.get_dict()#输出cookies
 
以上代码输出如下:
{'mycookie': 'value', '__bsi': '13551623790891227192_00_8_N_N_0_0303_C02F_N_N_N_0', 'BDORZ': '27315'}
其中第一个便是我们设置的cookie


【更新

# -*-coding:utf-8 -*-
import requestss=requests.session()
s.get('https://www.baidu.com')
print s.cookies.get_dict()#更新前
c = requests.cookies.RequestsCookieJar()#定义一个cookie对象
c.set('cookie-name', 'cookie-value')#增加cookie的值
s.cookies.update(c)#更新s的cookie
print s.cookies.get_dict()#更新后
以上代码输入如下:

{'__bsi': '16346916021544028282_00_8_N_N_1_0303_C02F_N_N_N_0', 'BDORZ': '27315'}
{'__bsi': '16346916021544028282_00_8_N_N_1_0303_C02F_N_N_N_0', 'BDORZ': '27315', 'cookie-name': 'cookie-value'}


【全部删除

# -*-coding:utf-8 -*-
import requestss=requests.session()
s.get('https://www.baidu.com')
print s.cookies.get_dict()#删除前
s.cookies.clear()#删除cookies,也可以使用s.cookies=None的方式将所有cookies删除
print s.cookies.get_dict()#删除后

以上代码输入如下:

{'__bsi': '12727356503341350373_00_7_N_N_1_0303_C02F_N_N_N_0', 'BDORZ': '27315'}
{}

【指定键删除】(巧妙使用None删除指定键

# -*-coding:utf-8 -*-
import requests
s=requests.session()
try:s.get('https://www.baidu.com')print s.cookies.get_dict()#删除前

    s.cookies.set('BDORZ',None)#删除cookiesBDORZ的值
    print s.cookies.get_dict()#删除后
except Exception,e:print e
以上代码输入如下:

{'__bsi': '13898242271953228160_00_7_N_N_0_0303_C02F_N_N_N_0', 'BDORZ': '27315'}
{'__bsi': '13898242271953228160_00_7_N_N_0_0303_C02F_N_N_N_0'}

这篇关于requests中会话cookie的增加、更新、删除的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/894664

相关文章

使用Python的requests库来发送HTTP请求的操作指南

《使用Python的requests库来发送HTTP请求的操作指南》使用Python的requests库发送HTTP请求是非常简单和直观的,requests库提供了丰富的API,可以发送各种类型的HT... 目录前言1. 安装 requests 库2. 发送 GET 请求3. 发送 POST 请求4. 发送

MySQL 数据库表操作完全指南:创建、读取、更新与删除实战

《MySQL数据库表操作完全指南:创建、读取、更新与删除实战》本文系统讲解MySQL表的增删查改(CURD)操作,涵盖创建、更新、查询、删除及插入查询结果,也是贯穿各类项目开发全流程的基础数据交互原... 目录mysql系列前言一、Create(创建)并插入数据1.1 单行数据 + 全列插入1.2 多行数据

linux安装、更新、卸载anaconda实践

《linux安装、更新、卸载anaconda实践》Anaconda是基于conda的科学计算环境,集成1400+包及依赖,安装需下载脚本、接受协议、设置路径、配置环境变量,更新与卸载通过conda命令... 目录随意找一个目录下载安装脚本检查许可证协议,ENTER就可以安装完毕之后激活anaconda安装更

mybatisplus的逻辑删除过程

《mybatisplus的逻辑删除过程》:本文主要介绍mybatisplus的逻辑删除过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录myBATisplus的逻辑删除1、在配置文件中添加逻辑删除的字段2、在实体类上加上@TableLogic3、业务层正常删除即

MybatisPlus中removeById删除数据库未变解决方案

《MybatisPlus中removeById删除数据库未变解决方案》MyBatisPlus中,removeById需实体类标注@TableId注解以识别数据库主键,若字段名不一致,应通过value属... 目录MyBATisPlus中removeBypythonId删除数据库未变removeById(Se

使用Python的requests库调用API接口的详细步骤

《使用Python的requests库调用API接口的详细步骤》使用Python的requests库调用API接口是开发中最常用的方式之一,它简化了HTTP请求的处理流程,以下是详细步骤和实战示例,涵... 目录一、准备工作:安装 requests 库二、基本调用流程(以 RESTful API 为例)1.

Nginx进行平滑升级的实战指南(不中断服务版本更新)

《Nginx进行平滑升级的实战指南(不中断服务版本更新)》Nginx的平滑升级(也称为热升级)是一种在不停止服务的情况下更新Nginx版本或添加模块的方法,这种升级方式确保了服务的高可用性,避免了因升... 目录一.下载并编译新版Nginx1.下载解压2.编译二.替换可执行文件,并平滑升级1.替换可执行文件

SQL Server跟踪自动统计信息更新实战指南

《SQLServer跟踪自动统计信息更新实战指南》本文详解SQLServer自动统计信息更新的跟踪方法,推荐使用扩展事件实时捕获更新操作及详细信息,同时结合系统视图快速检查统计信息状态,重点强调修... 目录SQL Server 如何跟踪自动统计信息更新:深入解析与实战指南 核心跟踪方法1️⃣ 利用系统目录

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

MySQL逻辑删除与唯一索引冲突解决方案

《MySQL逻辑删除与唯一索引冲突解决方案》本文探讨MySQL逻辑删除与唯一索引冲突问题,提出四种解决方案:复合索引+时间戳、修改唯一字段、历史表、业务层校验,推荐方案1和方案3,适用于不同场景,感兴... 目录问题背景问题复现解决方案解决方案1.复合唯一索引 + 时间戳删除字段解决方案2:删除后修改唯一字