其他分享
首页 > 其他分享> > pyhton接口自动化测试-session请求和cookie请求

pyhton接口自动化测试-session请求和cookie请求

作者:互联网

一、SESSION请求

SESSION:它是存储在服务端的

1、SESSION请求的流程

1)客户端输入账户和密码,登录成功,在服务端生成一个SESSIONID同时存储在服务端(DB or Redis) 

2)服务端把生成的SESSIONID通过响应头中的Set-Cookie返回给客户端

3)再系统下个请求中,比如查看个人主页,发送个人主页请求的时候,会在请求头中的Cookie中带上服务端返回来的SESSIONID发送给服务端

4)服务端接收到客户端发送过来的SESSIONID和存储在自己本地的SESSIONID之间会做一个对比

5)如果一直,允许访问个人主页

6)如果不一致,就重定向到登录的页面

2、SESSION请求的流程图

 

 

 3、SESSIONID的查找

以威客网为例,进行登录,在login中找到set-cookie

 

 找到cookie,将set-cookie与cookie做对比,相同的数据就是SESSIONID。

 

二、TOKEN请求

1、概念

TOKEN:本质上是SESSION原理来实现的,我们一般称呼它为令牌。前后端分类的产品使用的都是TOKEN。目前TOKE N使用的技术一般是JWT。

2、JWT介绍

Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。

3、TOKEN的特点

1)每次登录成功后返回的token是不一样是的,是一个随机的字符串

2)TOKEN一般通过响应数据返回给客户端

3)客户端发送请求给服务端,是通过请求头里面的Authorization: JWT TOKEN

4、TOKEN请求的流程图

 

 5、token的请求流程实例

以风暴平台为例,登录风暴平台

 

 

 

 通过对比auth/中的TOKEN和index中response header中的JWT数据做对比,两者相同。

三、思考

1、为什么需要获取网络请求?

获取网络请求就能够得到HTTP协议的组成部分

2、怎么获取网络请求?

使用浏览器的调试模式中的network就可以获取 2、charles/fildder工具来获取网络请求

3、API测试有必要吗?

有必要,为了验证客户端与服务端数据传输的正确性。

 

标签:请求,JWT,TOKEN,pyhton,SESSIONID,session,服务端,客户端
来源: https://www.cnblogs.com/cch6842/p/16499478.html