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

相关文章

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

Redis过期删除机制与内存淘汰策略的解析指南

《Redis过期删除机制与内存淘汰策略的解析指南》在使用Redis构建缓存系统时,很多开发者只设置了EXPIRE但却忽略了背后Redis的过期删除机制与内存淘汰策略,下面小编就来和大家详细介绍一下... 目录1、简述2、Redis http://www.chinasem.cn的过期删除策略(Key Expir

使用C#删除Excel表格中的重复行数据的代码详解

《使用C#删除Excel表格中的重复行数据的代码详解》重复行是指在Excel表格中完全相同的多行数据,删除这些重复行至关重要,因为它们不仅会干扰数据分析,还可能导致错误的决策和结论,所以本文给大家介绍... 目录简介使用工具C# 删除Excel工作表中的重复行语法工作原理实现代码C# 删除指定Excel单元

Python对PDF书签进行添加,修改提取和删除操作

《Python对PDF书签进行添加,修改提取和删除操作》PDF书签是PDF文件中的导航工具,通常包含一个标题和一个跳转位置,本教程将详细介绍如何使用Python对PDF文件中的书签进行操作... 目录简介使用工具python 向 PDF 添加书签添加书签添加嵌套书签Python 修改 PDF 书签Pytho

CentOS7增加Swap空间的两种方法

《CentOS7增加Swap空间的两种方法》当服务器物理内存不足时,增加Swap空间可以作为虚拟内存使用,帮助系统处理内存压力,本文给大家介绍了CentOS7增加Swap空间的两种方法:创建新的Swa... 目录在Centos 7上增加Swap空间的方法方法一:创建新的Swap文件(推荐)方法二:调整Sww

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

C#实现查找并删除PDF中的空白页面

《C#实现查找并删除PDF中的空白页面》PDF文件中的空白页并不少见,因为它们有可能是作者有意留下的,也有可能是在处理文档时不小心添加的,下面我们来看看如何使用Spire.PDFfor.NET通过C#... 目录安装 Spire.PDF for .NETC# 查找并删除 PDF 文档中的空白页C# 添加与删

SQL常用操作精华之复制表、跨库查询、删除重复数据

《SQL常用操作精华之复制表、跨库查询、删除重复数据》:本文主要介绍SQL常用操作精华之复制表、跨库查询、删除重复数据,这些SQL操作涵盖了数据库开发中最常用的技术点,包括表操作、数据查询、数据管... 目录SQL常用操作精华总结表结构与数据操作高级查询技巧SQL常用操作精华总结表结构与数据操作复制表结

Redis中6种缓存更新策略详解

《Redis中6种缓存更新策略详解》Redis作为一款高性能的内存数据库,已经成为缓存层的首选解决方案,然而,使用缓存时最大的挑战在于保证缓存数据与底层数据源的一致性,本文将介绍Redis中6种缓存更... 目录引言策略一:Cache-Aside(旁路缓存)策略工作原理代码示例优缺点分析适用场景策略二:Re

Pandas利用主表更新子表指定列小技巧

《Pandas利用主表更新子表指定列小技巧》本文主要介绍了Pandas利用主表更新子表指定列小技巧,通过创建主表和子表的DataFrame对象,并使用映射字典进行数据关联和更新,实现了从主表到子表的同... 目录一、前言二、基本案例1. 创建主表数据2. 创建映射字典3. 创建子表数据4. 更新子表的 zb