在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息。

1、requests库的session对象能够帮我们跨请求保持某些参数,也会在同一个session实例发出的所有请求之间保持cookies。

s = requests.session()

# req_param = '{"belongId": "300001312","userName": "alitestss003","password":"pxkj88","captcha":"pxpx","captchaKey":"59675w1v8kdbpxv"}'

# res = s.post('http://test.e.fanxiaojian.cn/metis-in-web/auth/login', json=json.loads(req_param))

# # res1 = s.get("http://test.e.fanxiaojian.cn/eos--web/analysis/briefing")

# print(res.cookies.values()) 获取登陆的所有session

2、requests库的session对象还能为我们提供请求方法的缺省数据,通过设置session对象的属性来实现

eg:

# 创建一个session对象

s = requests.Session()

# 设置session对象的auth属性,用来作为请求的默认参数

s.auth = ('user', 'pass')

# 设置session的headers属性,通过update方法,将其余请求方法中的headers属性合并起来作为最终的请求方法的headers

s.headers.update({'x-test': 'true'})

# 发送请求,这里没有设置auth会默认使用session对象的auth属性,这里的headers属性会与session对象的headers属性合并

r = s.get('http://httpbin.org/headers', headers={'x-test2': 'true'})

上面的请求数据等于:{'Authorization': 'Basic dXNlcjpwYXNz', 'x-test': 'false'}

# 查看发送请求的请求头

r.request.headers #打印响应中请求的所有header数据

res3 = s.get("http://pre.n.cn/irs-web/sso/login",cookies = cookie)

print(res3.request.headers.get("Cookie").split("IRSSID=")[-1])

print(type(res3.request.headers.get("Cookie").split("IRSSID=")[-1]))

print(res3.request._cookies)

python中requests库的用途-python中requests.session的妙用相关推荐

  1. python中requests库的用途-Python.Requests库的基本使用

    Requests安装 使用pip安装命令: pip install requests 打开cmd,输入python然后导入requests如果安装成功没有任何提示 如果提示如下则说明安装失败 Impo ...

  2. python中requests库的用途-python中requests库session对象的妙用详解

    在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如cookies信息. 妙用1 requests库的session对象能够帮我们跨请求保持某些参数,也 ...

  3. python中requests库的用途-python中requests库的post请求

    用python来验证接口正确性,主要流程有4步: 1 设置url 2 设置消息头 3 设置消息体 4 获取响应 5 解析相应 6 验证数据 Content-Type的格式有四种:分别是applicat ...

  4. 可爱的python测试开发库及项目(python测试开发工具库汇总)

    转载: https://www.jianshu.com/p/ea6f7fb69501 可爱的python测试开发库及项目(python测试开发工具库汇总) github地址 相关书籍下载 Python ...

  5. python中requests库的用途-数据爬虫(三):python中requests库使用方法详解

    有些网站访问时必须带有浏览器等信息,如果不传入headers就会报错,如下 使用 Requests 模块,上传文件也是如此简单的,文件的类型会自动进行处理: 因为12306有一个错误证书,我们那它的网 ...

  6. python库的作用与用途_Python 中 absl 库的用途

    absl 库全称是 Abseil Python Common Libraries.它原本是个C++库,后来被迁移到了Python上. 它是创建Python应用的代码集合.这些代码从谷歌自己的Pytho ...

  7. python常用标准库有哪些-Python开发中常用的标准库

    大多数基于 Python 开发的应用程序都会用到本地标准库和三方库,这样不仅能让我们把时间去关注真正的业务开发,也能学习到更多价值含量高的程序设计和开发思想.程序开发中有一句著名的话叫做: Don't ...

  8. python数据可视化库_python和r中用于数据可视化的前9个库

    python数据可视化库 In the rapidly growing world of today, when technology is expanding at a rate like neve ...

  9. python怎么安装requests库-小白安装python的第三方库:requests库

    1. 安装: 按照教程中的步骤是: Step1:以管理员身份打开command控制台 Step2:键入pip install requests 对其进行安装 然而实际经历是:出现 'pip' 不是内部 ...

最新文章

  1. 软件工程师安德烈·梅萨成功夺得世界小姐桂冠
  2. 那些年Android黑科技③:干大事不择手段
  3. 王道计算机考研 数据结构 (栈和队列)
  4. mysql每一步花费时间_MySQL之:日志
  5. mysql中的参数如何调试_mysql 查询优化 ~ 查询参数调节
  6. codeforces1437 E. Make It Increasing——最长上升子序列
  7. java读取文件夹_Java读取某个文件夹下的所有文件(支持多级文件夹)
  8. Job 存储和持久化 (第一部分)
  9. python基础--字符串
  10. 491 Increasing Subsequences 递增子序列
  11. python中把输出结果写到一个文件中_python 文件中字符串过滤,并将结果输出到另一个文件中(源码)...
  12. SpaceEmacs Rock Day2 学习笔记
  13. python利用经纬度画地图_使用Python实现画一个中国地图
  14. 【Python办公自动化】根据excel中数据批量生成word文档(适用劳动合同、质检报告、通知书等应用场景)
  15. java+swing+mysql小型超市管理系统
  16. 【技术贴】从51下载的网站代码asp源码怎么运行?怎么打开?
  17. (14.1)Zotero常用功能:插件、导入题录、参考文献
  18. CNN详解——反向传播过程
  19. 如何通过双十一引流?双11店铺怎么引流?双11活动技巧
  20. php语音直播怎么做,语音直播功能实现流程

热门文章

  1. SharePoint 状态机工作流解决方案(一):为什么要用状态机
  2. C++知识点记录(C++ primer)
  3. 浅谈图片蒙版效果-webkit-mask
  4. BZOJ-1027 [JSOI2007]合金
  5. 让我们来开发一种更类似人脑的神经网络吧(三)
  6. Jquery背景图片的预加载
  7. Jive学习(四)--Jive缓存
  8. 为什么要引入模式概念来设计软件
  9. docker 删除默认连接_Net Core 中 Docker应用
  10. python自动化测试看什么书-《自动化平台测试开发-Python测试开发实战》新书出版了...