python-request用法之接口關聯


這里介紹我在練習request用法時遇到的接口關聯問題,指下面的接口會用到之前接口返回的某個值。例如一個平台的登陸接口會返回一個token,后面的每個接口的請求頭都會帶這個字段。

接口介紹:

登陸接口,如下圖:

我需要提取這個authorization字段,在下一個接口調用時放到請求頭中,如下圖:

實現方法:

我把兩個接口分開寫的,這里看各自實際情況哈

OpenToken.py

import requests
import logging

def get_token():
logging.captureWarnings(True)
payload={'userName':'xxx',
'passWord':'xxx'
}
urls='xxxx'
r=requests.post(url=urls,data=payload,verify = False)
print("Status code:",r.status_code)
token=r.json()['result']['authorization']
print(token)
return token

get_token()

OpenMyList.py

import requests
import unittest
import logging
from Testtbuilding.OpenToken import get_token
class Mylist(unittest.TestCase):
def test_my_list(self):
logging.captureWarnings(True)
url='xxxx'
header={'authorization':get_token()}
list=requests.post(url,headers=header,timeout=5,verify = False)
# print(header)
print(list.json())
self.assertIs(list.json()['code'],1)
self.assertIs(list.status_code,200)
self.assertIs(len(list.json()['result']),6)

在第一個文件中我把authorization提取出來,因為第一個接口的返回格式authorization被包了兩層,可以看上面接口截圖中的內容,所以寫成
token=r.json()['result']['authorization']這個格式,如果是在最外層就不需要前面的result那一層。
第二個文件中,把authorization放進header里,直接調用了第一個文件中的方法,header={'authorization':get_token()},注意在get_token方法里一定要有返回值,
要不然你拿到的就是None。

 


免責聲明!

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



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