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

206 篇文章 7 订阅
109 篇文章 7 订阅

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)

最后:

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

给大家推荐一个软件测试技术交流群:810119819 群友福利免费领取

愿你我相遇,皆有所获! 欢迎关注微信公众号:程序员阿沐

1.免费领取一份216页软件测试工程师面试宝典文档资料。

2.软件测试学习路线以及相对应的视频学习教程免费分享!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值