接口自動化中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())

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM