川石教育
全国咨询热线:136-9172-9932
  1. 首页 > 资讯与干货 > IT资讯

requests请求如何保持登录状态

作者:川石学院 日期:2022-05-24 15:31:44 点击数:

  一天一个关于测试知识点,5分钟内讲解你最关心的软件测试问题,今天就接着来谈谈关于软件测试中的“requests请求如何保持登录状态”。

requests请求如何保持登录状态(图1)

  有些接口的调用需要处于登录状态,可以在调用接口的时候手工传入cookie信息,或者用session保持会话,这一章节给大家讲讲requests请求如何保持登录状态。

  1. 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请求如何保持登录状态(图2)

  2. 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)


相关文章
  • 亚马逊运营成功转行软件测试,薪资13K表示很满意!2022-05-24 15:31:44
  • 西安川石的兰朋友喊你来当他的学弟学妹啦!2022-05-24 15:31:44
  • 国外的月亮也不一定比国内测试猿的年薪美~2022-05-24 15:31:44
  • 建筑工程专业朱同学成功转行为软件测试人!2022-05-24 15:31:44
  • 财务管理专业转行软件测试月薪甩会计几条街!2022-05-24 15:31:44
  • 只有技术沉淀才能成功上岸,深圳就业薪资13K!2022-05-24 15:31:44
  • 薪资11K!实现自我价值,从掌握一门IT技术开始...2022-05-24 15:31:44
  • 文科生转行软件测试照样拿下高薪15K!2022-05-24 15:31:44
  • 恭喜罗同学喜提19.5K,成功入行软件测试!2022-05-24 15:31:44
  • 毕业1年,迷茫的他最终选择转行软件测试2022-05-24 15:31:44