python中requests.session的妙用
2024-09-06 04:53:01
在进行接口测试的时候,我们会调用多个接口发出多个请求,在这些请求中有时候需要保持一些共用的数据,例如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)
最新文章
- SQL Server相关书籍
- IDF-CTF-牛刀小试-啥?
- Listener实现单态登陆
- 调试 zeromq 发现 accept 死循环
- 编译器工具 Flex Bison for Windows 简单入门例子
- JSP如何保存页面上众多的复选状态
- linux 编译,链接和加载
- Intellij IDEA 使用Debug模式运行非常慢
- UVa 400 (水题) Unix ls
- Android开发UI之控件-Android-PullToRefresh
- Unable to Rebuild JIRA Index
- SpringMVC处理multipart请求.
- BZOJ 1969: [Ahoi2005]LANE 航线规划 [树链剖分 时间倒流]
- TCPDF说明文档
- JDBC 连接池的两种方式——dbcp &; c3p0
- RxJS之转化操作符 ( Angular环境 )
- DDR中寄存器的问题
- 俄罗斯方块-C语言-详注版
- SharePoint的安装和配置-PowerShell
- 【Spring学习笔记-MVC-15.1】Spring MVC之异常处理=404界面