Cookie和Session的简单理解 

由于Http协议是无状态的,所以产生了cookie和session进行状态的管理。

从哪里来,在哪里,到哪里去:

--> Cookie是由服务端生成,存储在响应头中,返回给客户端,客户端会将cookie存储下来。

--> Session是由服务端生成,存储在服务端的内存、缓存、数据库等地方。

--> 在客户端发送请求时,user-agent会自动获取本地存储的cookie,将cookie信息存储在

请求头中,发送给服务端。

--> 请求都是由客户端发起的,当服务端生成了session,客户端如何获取:

1)在客户端发送请求给服务端后,服务端会根据请求信息生成session,同时生成一个

session_id,通过cookie返回给客户端。

2)客户端再次向服务端发送请求时,会通过cookie将这个session_id发送给服务端,

这样相当于带上了session的标示。

--> cookie可以作为管理session的一种方式,当cookie被禁用时,可以通过表单或重写

url传送session_id。

requests实现cookie操作

--> cookie包含在响应中,要获取响应中的cookie信息,可以用r.cookies.get_dict()获取响应

的cookie信息,并传递给后续请求。

--> 找一个不会被进行验证的网站进行练习,从输出信息中,可以看到,第2个请求使用了第一

个请求响应头中的cookies信息,保持了连接

--> 在已知cookie信息时,需要构造成对应的cookie对象传递给请求时,可以采用Cookie的返回

对象为RequestsCookieJar或者字典构造。

--> RequestsCookieJar构造cookie是已知登录响应返回的cookies信息,通过创建对象,设置对

应的值进行构造传递。

--> 采用字典构造cookies信息,将构造方式更改为:

cookies = dict(zentaosid='5qm86pvshjm3s8u729cmc0mb15')

会话对象session

会话对象让你能够跨请求保持某些参数。它也会在同一个Session实例发出的所有请求之间保持

cookie。所以如果你向同一主机发送多个请求,底层的TCP连接将会被重用,从而带来显著的

性能提升。

--> session会自动管理cookie,一个session对象会保持同一个会话中的所有请求之间的cookie

信息。

总结:

--> 会话对象session比cookie更方便管理请求的cookie信息

--> 服务器返回的cookie信息通常在响应头中

--> 如果需要将响应体中的部分信息传递给后续的请求的cookie,可以构造cookie信息并传递

Python + request接口测试中Cookie和Session的获取和使用的更多相关文章

  1. flask中cookie和session介绍

    flask中cookie和session介绍 一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.co ...

  2. 浅谈JS中的!=、== 、!==、===的用法和区别 JS中Null与Undefined的区别 读取XML文件 获取路径的方式 C#中Cookie,Session,Application的用法与区别? c#反射 抽象工厂

    浅谈JS中的!=.== .!==.===的用法和区别   var num = 1;     var str = '1';     var test = 1;     test == num  //tr ...

  3. thinkphp中cookie和session中操作数组的方法

    thinkphp中cookie和session中操作数组的方法 一.ThinkPHP模板中如何操作session,以及如果session中保存的是数组的情况 在ThinkPHP的模板中操作sessio ...

  4. python request接口测试笔记(1)

    python request接口测试笔记(1) 涉及到的功能说明: 需要登录拿到token,才能进行下一个接口的请求 读取csv文件中的信息,作为接口的参数 将接口响应结果,写入csv文件,以便分析统 ...

  5. flask中cookie和session设置

    flask中cookie和session介绍   一.cookie: 在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户. ...

  6. PHP中Cookie与Session的异同以及使用

    Cookie与Session的异同: 一.cookie机制 Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器.IETF RFC 2965 HTTP State Mana ...

  7. Django中cookie和session的操作

    一.cookie和session cookie:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是 ...

  8. 【Python】Flask系列-cookie和session笔记

    cookie: 1.cookie出现的原因:在网站中,http请求是无状态的.也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户.cookie的出现就是为了 ...

  9. Django中cookie和session

    cookie Cookie的由来 大家都知道HTTP协议是无状态的. 无状态的意思是每次请求都是独立的,它的执行情况和结果与前面的请求和之后的请求都无直接关系,它不会受前面的请求响应情况直接影响,也不 ...

随机推荐

  1. RobotFramework教程使用笔记——Selenium2Library库

    selenium之前已经学习介绍过了,它是一个支持多语言.多平台.多浏览器的web自动化测试框架,在robotframework中也可以导入selenium库来进行web自动化测试.它使用seleni ...

  2. 作业:xml练习2-写.xml的外部约束文件(dtd文件)

    写外部DTD: 步骤: 1.在srd目录下新建DTD文件,并命名为:scores.dtd 2.在练习1的基础上,剪切练习1的DTD内部声明.粘贴到一个新建的DTD文件中.剪切之后的地方换上:包含外部D ...

  3. 手把手教你打造ImageView支持手势放大缩小

    写在前面 最近有了新的任务,学习的时间比以前少了不少,Java回炉的文估计是得缓缓了,不过每周一篇尽量保质保量.最近感觉我文写的有点不好,因为我写东西除非必要,不然概念性的东西我基本上都是一笔带过…… ...

  4. Linux-正则表达式与三剑客

    1 固化命令文件 登录时执行文件的顺序 /etc/profile /etc/profile.d ~/.bash_profile ~/.bashrc /etc/bashrc 非登录shell ~/.ba ...

  5. 移植最新版libmemcached到VC++的艰苦历程和经验总结(上)

    零.前言: 该篇博客的Title原计划是“在VC++中调用libmemcached的设计技巧”,可结果却事与原违,原因很简单,移植失败了.尽管结果如此,然而这3天的付出却是非常值得的,原因也很简单,收 ...

  6. android开发中怎么通过Log函数输出当前行号和当前函数名

    public class Debug { public static int line(Exception e) { StackTraceElement[] trace = e.getStackTra ...

  7. node本地服务启动报Error: listen EADDRINUSE解决方法

    Error: listen EADDRINUSE 127.0.0.1:1337 at Object.exports._errnoException (util.js:1018:11) at expor ...

  8. CodeForces Gym 100685E Epic Fail of a Genie (贪心,控制精度)

    题意:给定 n 个数,然后让从中选取一些数使得它们的总乘积最大.如果有多个,要求这些数尽量少,如果还有多个,随便输出一组即可. 析:一个贪心题,根据乘法的性质,很容易知道,如果一个数大于1,那么肯定要 ...

  9. 深入理解Java中方法的参数传递机制

    形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. ...

  10. ASP.NET Core Web API + Angular 仿B站(三)后台配置 JWT 的基于 token 的验证

    前言: 本系列文章主要为对所学 Angular 框架的一次微小的实践,对 b站页面作简单的模仿. 本系列文章主要参考资料: 微软文档: https://docs.microsoft.com/zh-cn ...