【软件测试】Requests库中处理cookie的几种方式

1439 篇文章 61 订阅
1352 篇文章 53 订阅

前言

发送请求时经常需要利用请求头中的cookie字段来做用户访问状态的保持,关于的cookie的处理常见有下面一些处理方式,这里做个小小的总结

1.直接在请求中传递cookies参数

import requests

host = 'http://119.91.144.93:82'
api = r'/ecshop/user.php'
url = host + api

data = {'username':'wangke','password':'123456','act':'act_login','back_act':'./index.php','submit':None}
res = requests.request('POST',url=url,data=data) #登录
cookies = res.cookies #获取登录cookies
data1 = {'msg_type':0,'msg_title':'aaaaaaa','msg_content':'1111111111','act':'act_add_message'}
r = requests.request('POST',url=url,data=data1,cookies=cookies) #发表留言,直接将获取的登录cookies添加到请求中

结果:发表留言成功

2.将获取的登录cookie添加到headers中

import requests

host = 'http://119.91.144.93:82'
api = r'/ecshop/user.php'
url = host + api

data = {'username':'wangke','password':'123456','act':'act_login','back_act':'./index.php','submit':None}
res = requests.request('POST',url=url,data=data) #登录
cookies = res.cookies #获取登录cookies

cookies_str  = '' #将获取的登录cookies拼接为字符串
for k,v in cookies.items():
    cookies_str += f'{k}={v};' #key=value;的方式拼接
headers = {'cookie':cookies_str} #组装headers

data1 = {'msg_type':0,'msg_title':'bbbbb','msg_content':'22222','act':'act_add_message'}
r = requests.request('POST',url=url,data=data1,headers=headers) #发送留言请求

结果:发表留言成功

3.通过RequestsCookieJar构造cookies

import requests

host = 'http://119.91.144.93:82'
api = r'/ecshop/user.php'
url = host + api

data = {'username':'wangke','password':'123456','act':'act_login','back_act':'./index.php','submit':None}
res = requests.request('POST',url=url,data=data) #登录
cookies = res.cookies #获取登录cookies

jar = requests.cookies.RequestsCookieJar() #创建RequestsCookieJar对象
for k,v in cookies.items():
    jar.set(k,v) #通过RequestsCookieJar对象构造cookies


data1 = {'msg_type':0,'msg_title':'cccccc','msg_content':'33333','act':'act_add_message'}
r = requests.request('POST',url=url,data=data1,cookies=jar) #发送留言请求

结果:发表留言成功

4.通过session会话处理

import requests

host = 'http://119.91.144.93:82'
api = r'/ecshop/user.php'
url = host + api

s = requests.session() #创建会话s
data = {'username':'wangke','password':'123456','act':'act_login','back_act':'./index.php','submit':None}
res = s.request('POST',url=url,data=data) #通过会话发送登录请求

data1 = {'msg_type':0,'msg_title':'dddddd','msg_content':'44444','act':'act_add_message'}
r = s.request('POST',url=url,data=data1) #通过会话发送留言请求,不需要处理cookie,自动关联

结果:发表留言成功


最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

加入我的软件测试交流群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

获取方式 :

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值