news 2026/4/16 15:44:45

【接口测试】3_代码实现 _Cookie和Session

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【接口测试】3_代码实现 _Cookie和Session

文章目录

  • 一、Cookie
    • 1.1 Cookie简介
    • 1.2 Cookie+Session认证方式
    • 1.3 案例 - 看演示,此代码不需实现
  • 二、Session
    • 2.1 Session简介
    • 2.2 Session自动管理Cookie
    • 2.3 创建Session对象
    • 2.4 案例-重点
  • 三、面试题 Cookie 和 Session 区别

一、Cookie

1.1 Cookie简介

  • cookie 是工程师,针对 http协议 是无状态这一特征,设计的一种技术。
  • cookie 将数据保存在浏览器端。默认存储空间大小为 4k(可以修改)。
  • cookie 中的数据,用户和随意获取,没有安全性可言。
  • cookie 中存放的数据类型,受浏览器限制。
  • cookie 中大多存放于网络通信相关的不敏感数据信息。提高访问速度。如:用户名、登录状态等。

1.2 Cookie+Session认证方式

校验用户身份的方法不同:

  • ①令牌校验 —>比如:ihrm项目
  • ②cookie+session —>比如:tpshop商城

1、客户端第一次访问服务器-发送http请求。

2、服务器产生session_id (key),session_对象(value),并且回发http相应(携带session_id )。

3、客户端的cookie 存储服务器回发的session_id。

1.3 案例 - 看演示,此代码不需实现

完整实现 TPshop商城登录,并获取 “我的订单” 页面数据。

获取验证码:http://tpshop-test.itheima.net/index.php?m=Home&c=User&a=verify
登录:http://tpshop-test.itheima.net/index.php?m=Home&c=User&a=do_login
我的订单:http://tpshop-test.itheima.net/Home/Order/order_list.html

# 导包importrequests# 发送 获取验证码请求 - getresp=requests.get(url="http://tpshop-test.itheima.net/index.php?m=Home&c=User&a=verify&r=0.8163589828918973")# 获取 cookiemy_cookie=resp.cookies# 发送 登录请求 - post,要携带获取到的 cookie, 获取响应结果resp2=requests.post(url="http://tpshop-test.itheima.net/index.php?m=Home&c=User&a=do_login&t=0.06754297110809726",data={"username":"13812345678","password":"123456","verify_code":"8888"},cookies=my_cookie)# 打印响应结果print("登录结果:",resp2.json())# 发送请求,访问 "我的订单" 页面resp3=requests.get(url="http://tpshop-test.itheima.net/Home/Order/order_list.html",cookies=my_cookie)print("我的订单页面:",resp3.text)

二、Session

2.1 Session简介

概念:也叫 会话!从客户端登录服务器开始,直到客户端退出登录,所产生的所有通信数据,保存在 session中。

  • session 将数据存在服务器端
  • session 使用服务器存储空间,没有大小限制。
  • session 支持的数据类型,受服务器主机影响。几乎支持所有数据类型。
  • session 中的数据,大都采用 加密、转码存储。安全性较高。

2.2 Session自动管理Cookie

结论:Session自动管理Cookie

因为,cookie中的数据,都是由 session 提供的。

2.3 创建Session对象

# 创建session对象:session=requests.Session()

说明:

  • Session对象代表一次用户会话:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开。
  • 会话能让我们在跨请求时候保持某些参数,比如在同一个session 实例发出的所有请求之间保持cookie。

2.4 案例-重点

借助 session 重新实现 上述 TPshop商城登录,并获取 “我的订单” 页面数据。

实现步骤:

1、创建 session 对象(实例)。 my_session = requests.Session()【注意:() 不能丢!!!】

2、使用 session实例,调用get方法,发送 获取验证码请求(不需要提取cookie)。 my_session.get()

resp = requests.get() # 需要自己提取Cookie,然后把提取到的Cookie在下一次登录请求的时候发过去 Session能够自动管理Cookie,用Session做不需要提取Cookie

3、使用同一个 session实例,调用post方法,发送登录请求(不需要携带cookie)。my_session.post()

4、使用同一个 session实例,调用get方法,发送查看我的订单页面请求(不需要携带cookie)。my_session.get()

# 导包importrequests# 1. 创建session实例my_session=requests.Session()# 2. 使用session实例,调用 get方法,发送 获取验证码请求resp1=my_session.get(url="http://tpshop-test.itheima.net/index.php?m=Home&c=User&a=verify")# print(resp1.text)# 3. 使用同一个session实例,调用 post方法,发送 登录请求。(正确 用户名、密码)resp2=my_session.post(url="http://tpshop-test.itheima.net/index.php?m=Home&c=User&a=do_login",data={"username":"13812345678","password":"123456","verify_code":"8888"})print("登录结果:",resp2.json())# 4. 使用同一个session实例,调用 get方法,查询我的定义页面。resp3=my_session.get(url="http://tpshop-test.itheima.net/Home/Order/order_list.html")# 5. 打印响应结果print("我的订单页面:",resp3.text)

三、面试题 Cookie 和 Session 区别

1、数据存储位置:

  • Cookie 存储在 浏览器端
  • Session 存储在 服务器端

2、安全性:

  • Cookie 直接存储在浏览器,可以任意获取,没有安全性可言。
  • Session 存储在 服务器端,采用 加密、转码形式存储数据,安全性较高。

3、数据类型:

  • Cookie 直接存储在浏览器,支持测试数据类型受浏览器限制
  • Session 存储在 服务器端,服务器就是一台主机。因此几乎支持所有的数据类型。

4、大小:

  • Cookie 默认大小 4k(可调)
  • Session 直接使用服务器存储。没有大小限制。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/15 15:32:52

看着Uniswap的曲线,你想过自己做Swap吗?

深夜两点,李明的办公室里还亮着灯。屏幕上Uniswap的曲线图上下跳动,他盯着那些数字,心里反复盘算着同一个问题:如果我也做一个去中心化交易所,需要多少成本?多少时间?成功的概率有多大&#xff…

作者头像 李华
网站建设 2026/4/15 14:20:37

企业高效定位高潜客户的技术路径与实践方法论

在当今高度数字化的商业环境中,企业增长的核心驱动力之一在于精准识别并触达高潜在价值客户。然而,面对海量、多源、非结构化的数据洪流,传统依赖销售团队直觉与有限市场调研的客户发掘方式,已难以满足效率与精准度的双重需求。企…

作者头像 李华
网站建设 2026/4/16 14:02:38

AI驱动下的连锁餐饮巡店模式:从人工核验到智能闭环

连锁餐饮的运营管理,本质是一场关于“标准”与“执行”的持久博弈。传统的巡店模式——督导带着纸质清单奔波,手动拍照、记录,再通过表格汇总——在门店数量快速增长时愈发显得力不从心。数据滞后、标准不一、整改难以追踪等痛点,…

作者头像 李华