1.为什么需要Session和Cookie
HTTP是一种无状态的响应。上一个请求和下一个请求没有任何关系。但是现实过程中,需要这些请求之间有关系。例如,你在登陆淘宝后,需要查看购物车有什么东西,服务器要确认你是同一个用户,才会给你显示你的信息,所以就有了Session 和 Cookie
2.Cookies机制原理
浏览器第一次向服务器发送请求是没有带cookie的,服务器收到请求给浏览器一个带有cookie的响应,这是浏览器解析Cookie保存在本地,下次再去发送一个请求给服务器就会带上这个Cookie,服务器验证Cookie信息,正确就会返回这个请求给出响应。
import request
r = requests.post(url,data,) #第一次发送请求
cookies=r.cookies.get_dict() #把服务端返回的cookies保存
res=request.get(url,cookies=cookies,headers=headers) # 将保存的cookies传入
print(res.status_code)
3.Session机制原理
浏览器发送一个请求,服务器端认证之后,存储Session,存在服务\数据库或者redis上。服务器给出一个响应,带上cookies-session-id的信息。浏览器拿到响应之后,也会保存到本地,但是这个时候cookie很小,可能只有一个id。浏览器开始发送HTTP请求,带上cookie,服务器上解析sessionid,给出HTTP响应。
import request
s=requests.session()
r= s.post(url,data,)
cookies=r.cookies.get_dict()
res=request.get(url,cookies=cookies,headers=headers) # 将保持的cookies传入
print(res.text)
print(res.status_code)