requests之session会话管理,只有这一篇我看懂了!!

剁完手还没收到快递,诈骗电话就来了,一文了解如何提高电商隐私安全?>>>requests之session会话管理,只有这一篇我看懂了!!

session会话管理

如何理解http协议里的无状态
为什么用到cookie
为什么要用到会话管理?
手动传入cookie
session会话管理

如何理解http协议里的无状态

比如商场购物车,你把东西放到购物车,如果http协议的话,刷新页面,购物车就为空了
简单理解就是http刷新后就不会记得你之前做了什么

为什么用到cookie

web2.0交互时代,所以就引用cookie和seesion来记录状态,比如登录

为什么要用到会话管理?

如果很多个接口都要用到cookies,如果每次都要手动传cookies是不是很麻烦???

手动传入cookie

请求购物车接口(没有登录的情况),如果没传入cookie,就无法查看到购物车里的商品(就是刚刚说的httpt是无状态的)
请求购物车接口时,必须手动带上cookie参数,才能查看到购物车内的商品
那么有没有一种方式,订单接口自动能带上cookeis?不用手动去传cookies!

# -*- coding: utf-8 -*-
# @Author : 微信公众号程序员一凡

import requests

# 登录接口
log_url = "http://shopxo.hctestedu.com/index.php?s=/index/user/login.html"
# 登录参灵敏
data = {"accounts": "laozhu",
        "pwd": "123456"}
# 头部信息
head = {"X-Requested-With": "XMLHttpRequest"}
login_response = requests.post(log_url, data=data, headers=head)

# 获取cookie,传给下面订单接口
cookie = login_response.cookies

# 订单接口
order_url = "http://shopxo.hctestedu.com/index.php?s=/index/cart/index.html"
order_response = requests.get(order_url, cookies=cookie)
print(order_response.text)

session会话管理

可以保持会话,将cookies等值自动传到下一个接口(注意:是自动传到下一个接口)
换句话说,就是不用手动去传cookie的值

# -*- coding: utf-8 -*-
# @Author : 微信公众号程序员一凡

import requests

# 登录接口
log_url = "http://shopxo.hctestedu.com/index.php?s=/index/user/login.html"
# 登录参灵敏
data = {"accounts": "laozhu",
        "pwd": "123456"}
# 头部信息
head = {"X-Requested-With": "XMLHttpRequest"}

# 实例化session对像
session = requests.session()

login_response = session.post(log_url, data=data, headers=head)

# 订单接口
order_url = "http://shopxo.hctestedu.com/index.php?s=/index/cart/index.html"
# 不用手动传入cookies值,因为session自动带上了
order_response = session.get(order_url)
print(order_response.text)
# 打印cookies
print(session.cookies)

最后:

未来的你肯定会感谢现在拼命的自己!

 

 

上一篇:云玩游戏隐私政策


下一篇:AngularJS Cookies Example