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

相关文章

使用C#代码在PDF文档中添加、删除和替换图片

《使用C#代码在PDF文档中添加、删除和替换图片》在当今数字化文档处理场景中,动态操作PDF文档中的图像已成为企业级应用开发的核心需求之一,本文将介绍如何在.NET平台使用C#代码在PDF文档中添加、... 目录引言用C#添加图片到PDF文档用C#删除PDF文档中的图片用C#替换PDF文档中的图片引言在当

macOS无效Launchpad图标轻松删除的4 种实用方法

《macOS无效Launchpad图标轻松删除的4种实用方法》mac中不在appstore上下载的应用经常在删除后它的图标还残留在launchpad中,并且长按图标也不会出现删除符号,下面解决这个问... 在 MACOS 上,Launchpad(也就是「启动台」)是一个便捷的 App 启动工具。但有时候,应

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T

MySQL新增字段后Java实体未更新的潜在问题与解决方案

《MySQL新增字段后Java实体未更新的潜在问题与解决方案》在Java+MySQL的开发中,我们通常使用ORM框架来映射数据库表与Java对象,但有时候,数据库表结构变更(如新增字段)后,开发人员可... 目录引言1. 问题背景:数据库与 Java 实体不同步1.1 常见场景1.2 示例代码2. 不同操作

C++从序列容器中删除元素的四种方法

《C++从序列容器中删除元素的四种方法》删除元素的方法在序列容器和关联容器之间是非常不同的,在序列容器中,vector和string是最常用的,但这里也会介绍deque和list以供全面了解,尽管在一... 目录一、简介二、移除给定位置的元素三、移除与某个值相等的元素3.1、序列容器vector、deque

C++原地删除有序数组重复项的N种方法

《C++原地删除有序数组重复项的N种方法》给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度,不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(... 目录一、问题二、问题分析三、算法实现四、问题变体:最多保留两次五、分析和代码实现5.1、问题分析5.

SpringBoot项目使用MDC给日志增加唯一标识的实现步骤

《SpringBoot项目使用MDC给日志增加唯一标识的实现步骤》本文介绍了如何在SpringBoot项目中使用MDC(MappedDiagnosticContext)为日志增加唯一标识,以便于日... 目录【Java】SpringBoot项目使用MDC给日志增加唯一标识,方便日志追踪1.日志效果2.实现步

SQL Server清除日志文件ERRORLOG和删除tempdb.mdf

《SQLServer清除日志文件ERRORLOG和删除tempdb.mdf》数据库再使用一段时间后,日志文件会增大,特别是在磁盘容量不足的情况下,更是需要缩减,以下为缩减方法:如果可以停止SQLSe... 目录缩减 ERRORLOG 文件(停止服务后)停止 SQL Server 服务:找到错误日志文件:删除

一文详解SQL Server如何跟踪自动统计信息更新

《一文详解SQLServer如何跟踪自动统计信息更新》SQLServer数据库中,我们都清楚统计信息对于优化器来说非常重要,所以本文就来和大家简单聊一聊SQLServer如何跟踪自动统计信息更新吧... SQL Server数据库中,我们都清楚统计信息对于优化器来说非常重要。一般情况下,我们会开启"自动更新

mysql删除无用用户的方法实现

《mysql删除无用用户的方法实现》本文主要介绍了mysql删除无用用户的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 1、删除不用的账户(1) 查看当前已存在账户mysql> select user,host,pa