在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如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)

最新文章

  1. SQL Server相关书籍
  2. IDF-CTF-牛刀小试-啥?
  3. Listener实现单态登陆
  4. 调试 zeromq 发现 accept 死循环
  5. 编译器工具 Flex Bison for Windows 简单入门例子
  6. JSP如何保存页面上众多的复选状态
  7. linux 编译,链接和加载
  8. Intellij IDEA 使用Debug模式运行非常慢
  9. UVa 400 (水题) Unix ls
  10. Android开发UI之控件-Android-PullToRefresh
  11. Unable to Rebuild JIRA Index
  12. SpringMVC处理multipart请求.
  13. BZOJ 1969: [Ahoi2005]LANE 航线规划 [树链剖分 时间倒流]
  14. TCPDF说明文档
  15. JDBC 连接池的两种方式——dbcp & c3p0
  16. RxJS之转化操作符 ( Angular环境 )
  17. DDR中寄存器的问题
  18. 俄罗斯方块-C语言-详注版
  19. SharePoint的安装和配置-PowerShell
  20. 【Spring学习笔记-MVC-15.1】Spring MVC之异常处理=404界面

热门文章

  1. deep_learning_学习资料
  2. 安装python包时出现VC++ 错误的解决方案
  3. zencart价格筛选插件
  4. P5496 【模板】回文自动机(PAM)
  5. MNPR--造福人类的人值得被感激
  6. JS用正则替换特殊字符
  7. formData+ajax文件上传
  8. Mybatis一对一和一对多配置
  9. Visual Studio 查看宏展开
  10. 装饰者模式(Decorator)---结构型