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 requests

s=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 requests

s=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'}


注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com