session自動管理cookie:
cookie中的數據,都是session提供的
實現步驟:
1.創建session對象;my_session=requests.Session()
2.使用session實例,調用get方法,發送獲取驗證碼請求(不需要提取cookie)
my_session.get()
3.使用同一個session實例,調用post方法,發送登錄請求(不需要攜帶cookie)
my_session.post()
4.使用同一個session實例,調用get方法,發送查看訂單頁面請求。
my_session.get()
使用session對象調用接口:
import requests# 創建session實例
my_session=requests.Session()
# 使用session實例,調用get方法,發送驗證碼
resp1=my_session.get(url='http://shop-test.itinig.net/index.php?m=Home')
print(resp1.text)
# 調用登錄接口,進行登錄
resp2=my_session.post(url='http://ddddddddd',data={"user":"123","password":"9090","verify_code":"8888"})
print("登錄結果:",resp2.json())# 查看登錄后,某個頁面
resp3=my_session.get(url="http://www.1234.com")
print("頁面結果查詢結果:",resp3.json())
session和cookie區別(面試題):
1.數據存儲位置
cookie存儲在瀏覽器端
session存儲在服務器端
2.安全性
cookie存儲在瀏覽器端,可以任意獲取,沒有安全性可言
session存儲在服務器端,采用加密、轉碼形式存儲,安全性較高
3.數據類型
cookie存儲在瀏覽器端,支持的測試數據受瀏覽器限值
session存儲在服務器端,服務器是一臺主機,因此幾乎支持所有的數據類型
4.大小
cookie默認大小4k(可調,但不大)
session直接使用服務器存儲,沒有大小限制。