前言全域性說明
Python 設定 session 或 cookie 鍵值
一、說明
在實際使用中 session 和 cookie 裡存放鍵值,是指不同的位置,session 的內容存在記憶體中,
而 cookie 是一個為 .cookie的檔案。
這裡只為了演示鍵值的增加,不用過多關注 session 和 cookie 區別
下文,原始碼下載:python_test_request_session.zip (3.1KB)
二、增加鍵值
2.1 使用 {}字典 方式
檔名:test1_1session_set.py
import requests
# 定義要設定的cookies
diy_session = {
'key_1': 'value_1',
'key_2': 'value_2'
}
session = requests.session()
print("\n[ INFO ] 定義要設定的變數型別:", type(diy_session))
print("\n[ INFO ] 當前的session(預設是空的):")
for key,val in session.cookies.items():
print(key,"=",val)
print("\n[ INFO ] 設定session:", diy_session)
session.cookies.update(diy_session)
print("\n[ INFO ] 設定後的session:")
for key,val in session.cookies.items():
print(key,"=",val)
效果:
2.1 使用 字串 方式
檔名:test1_2session_set.py
import requests
test_key_2="key_2"
test_value_2="value_2"
session = requests.session()
print("\n[ INFO ] 當前的session(預設是空的):")
for key,val in session.cookies.items():
print(key,"=",val)
print("\n[ INFO ] 設定session:")
session.cookies.set('key_1','value_1')
session.cookies.set(test_key_2, test_value_2)
print("\n[ INFO ] 設定後的session:")
for key,val in session.cookies.items():
print(key,"=",val)
效果:
三、刪除鍵值
3.1 刪除全部鍵值
檔名:test2_1session_del.py
import requests
# 定義要設定的session
diy_session = {
'key_1': 'value_1',
'key_2': 'value_2'
}
session = requests.session()
print("\n[ INFO ] 定義要設定的變數型別:", type(diy_session))
print("\n[ INFO ] 設定session:", diy_session)
session.cookies.update(diy_session)
print("\n[ INFO ] 當前的session:")
for key,val in session.cookies.items():
print(key,"=",val)
print("\n[ INFO ] 刪除全部鍵值 clear()")
session.cookies.clear()
print("\n[ INFO ] 刪除後的session:")
for key,val in session.cookies.items():
print(key,"=",val)
效果:
3.2 刪除 key_1 指定鍵
檔名:test2_2session_del.py
import requests
# 定義要設定的session
diy_session = {
'key_1': 'value_1',
'key_2': 'value_2'
}
session = requests.session()
print("\n[ INFO ] 定義要設定的變數型別:", type(diy_session))
print("\n[ INFO ] 設定session:", diy_session)
session.cookies.update(diy_session)
print("\n[ INFO ] 當前的session:")
for key,val in session.cookies.items():
print(key,"=",val)
print("\n[ INFO ] 刪除 key_1 鍵值")
del session.cookies['key_1']
print("\n[ INFO ] 刪除後的session:")
for key,val in session.cookies.items():
print(key,"=",val)
效果:
四、修改、更新鍵值
4.1 更新
檔名:test3_1session_updata.py
import requests
# 定義要設定的session
diy_session = {
'key_1': 'value_1',
'key_2': 'value_2'
}
session = requests.session()
print("\n[ INFO ] 定義要設定的變數型別:", type(diy_session))
print("\n[ INFO ] 設定session:", diy_session)
session.cookies.update(diy_session)
print("\n[ INFO ] 當前的session:")
for key,val in session.cookies.items():
print(key,"=",val)
print("\n[ INFO ] 更新 key_1 鍵的值為 value_111")
session.cookies["key_1"]="value_111"
print("\n[ INFO ] 更新後的session:")
for key,val in session.cookies.items():
print(key,"=",val)
效果:
五、查詢鍵值
4.1 檢視 key_1 鍵值
檔名:test4_1session_get.py
import requests
# 定義要設定的session
diy_session = {
'key_1': 'value_1',
'key_2': 'value_2'
}
session = requests.session()
print("\n[ INFO ] 定義要設定的變數型別:", type(diy_session))
print("\n[ INFO ] 設定session:", diy_session)
session.cookies.update(diy_session)
print("\n[ INFO ] 當前的session:")
for key,val in session.cookies.items():
print(key,"=",val)
print("\n[ INFO ] 檢視 key_1 鍵值為:", session.cookies.get('key_1'))
效果:
免責宣告:本號所涉及內容僅供安全研究與教學使用,如出現其他風險,後果自負。
參考、來源:
https://www.cnblogs.com/come202011/p/12129125.html (定義一個cookie物件)
https://geek-docs.com/django/django-questions/42_django_in_django_how_do_i_clear_a_sessionkey.htm
https://segmentfault.com/a/1190000016041295