相信做软件测试工作的人都知道,有些接口的调用时是需要处于登录状态的,可以在调用接口的时候手工传入cookie信息,或者用session保持会话。下面具体来看看:
一、requests-cookies参数
request请求cookies参数:
字典格式,可以放cookie信息
发送请求时,需要带cookie信息:
cookies={"ECSCP_ID":"cf306022f9f921c97ee70b907f6be4e63c96aae2"}
response = requests.get(url,cookies=cookies)
代码示例:登陆获取cookie,然后再传入后续接口的调用中
import requests
#登录
url = 'http://localhost/ecshop/user.php'
param = {
"username":'user001',
"password":'user001',
"act":"act_login",
"submit":None
}
res1 = requests.post(url,data=param)
#获取cookies
cookies = res1.headers["Set-Cookie"]
#截取出需要的cookie
c1 = cookies.split(';')
for c in c1:
if "ECS_ID" in c:
print(c)
break
c2 = c.split('=')
print(c2)
#设置cookie参数
cookie = {c2[0]:c2[1]}
#查询订单接口
url = "http://localhost/ecshop/user.php?act=order_list"
res2 = requests.get(url,cookies=cookie)
print(res2.text)
二、 requests.session()进行会话的保持
代码演示:requests.session()对象,在同一个对话里,前面登陆,后面接口调用时会自动带上相关信息。这样就不需要我们手工传入某些数据了
import requests
s = requests.session()
#登录
url = 'http://localhost/ecshop/user.php'
param = {
"username":'user001',
"password":'user001',
"act":"act_login",
"submit":None
}
s.post(url,data=param)
#查询订单
url = "http://localhost/ecshop/user.php?act=order_list"
res = s.get(url)
print(res.text)
今天关于“request请求如何保持登陆状态”的内容就学习完了,大家喜欢的话记得每天来这里和小编一起学习涨薪技能哦。(笔芯)
附:川石信息全国校区最新开班时间,课程资料获取13691729932(微信同号)。