• 接口自动化中requests请求处理cookies和token鉴权的方法


    一、requests请求处理cookies鉴权的方法

    1、方式一:使用session对象登录成功后会自动携带cookies信息

     1 import requests
     2 
     3 #第一步 - 实现session的实例化
     4 s = requests.Session()
     5 
     6 #第二部 - 登录,得到cookies的鉴权
     7 login_url = "https://v4.ketangpai.com/UserApi/login"
     8 login_data = {"email": "1569179xxxx","password": "xxxxxx","remember": "0"}
     9 
    10 s.post(login_url,data=login_data)
    11 print("登录后的cookies是:",s.cookies)     #主动会将响应的cookies添加到s对象当中
    12 
    13 #第三部 - 使用携带cookies的s对象直接发送请求
    14 get_user_url = "https://v4.ketangpai.com/UserApi/getUserInfo"
    15 resp = s.get(get_user_url)
    16 print(resp.json())

    2、方式二:自己主动获取cookies,并在后续的请求中主动添加cookies信息

     1 import requests
     2 
     3 #第一部 - 登录,得到cookies的鉴权
     4 login_url = "https://v4.ketangpai.com/UserApi/login"
     5 login_data = {"email": "15691796678","password": "cw19880814","remember": "0"}
     6 
     7 resp = requests.post(login_url,data=login_data)
     8 cookies = resp.cookies       #主动获取cookies鉴权
     9 print("登录后的cookies是:",resp.cookies)
    10 
    11 #第二部 - 发送请求并主动携带cookies信息
    12 get_user_url = "https://v4.ketangpai.com/UserApi/getUserInfo"
    13 resp2 = requests.get(get_user_url,cookies=cookies)       #将获取到的cookies鉴权主动添加到请求中去
    14 print(resp2.json())

    二、requests请求处理token鉴权的方法

     1 import requests
     2 
     3 login_url = "http://api.lemonban.com/futureloan/member/login"
     4 login_data = {"mobile_phone": "15691796678","pwd": "cw19880814"}
     5 headers = {"X-Lemonban-Media-Type":"lemonban.v2"}
     6 
     7 #第一部 - 登录,得到token的鉴权
     8 #此处是项目接口要求,需要在登录请求的headers中传递特定信息来完成登录请求,不同项目会有不同,具体看接口文档
     9 resp = requests.post(login_url,json=login_data,headers=headers)
    10 resp_dict = resp.json()
    11 #获取json中的token值
    12 token = resp_dict["data"]["token_info"]["token"]
    13 print(resp_dict)
    14 
    15 #第二部 - 充值。将token添加到请求头中
    16 #根据接口文档要求,在header 按照特定的格式将token添加到headers中,不同的项目会有不同,具体看接口文档
    17 headers["Authorization"] = "Bearer {}".format(token)
    18 print(headers)
    19 recharge_url = "http://api.lemonban.com/futureloan/member/recharge"
    20 recharge_data = {"member_id":"20201","amount":"20000"}
    21 resp2 = resp.post(recharge_url,json=recharge_data,headers=headers)
    22 print(resp2.json())
  • 相关阅读:
    题解:luoguP1070 道路游戏(DP)
    题解:luoguP2577【ZJOI2005】午餐(DP)
    题解:bzoj1801: [Ahoi2009]chess 中国象棋
    题解:bzoj1878: [SDOI2009]HH的项链
    SpringBoot静态资源文件 lion
    简要的Log4Net 应用配置
    Web Service 初级教程
    log4Net 动态改变写入文件
    Ornament 类型资源权限
    JQuery 引发两次$(document).ready事件
  • 原文地址:https://www.cnblogs.com/xjklmycw/p/14884862.html
Copyright © 2020-2023  润新知