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

来源:互联网 发布:派对屋调音软件 编辑:程序博客网 时间:2024/05/19 17:09

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


【增加】

#coding:utf-8import requestss = requests.session()s.cookies.set('mycookie','value') #设置会话cookiesr=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的cookieprint 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 requestss=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'}

1 0