zoukankan      html  css  js  c++  java
  • 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。
  • 相关阅读:
    Ant属性文件
    使用numpy处理数组
    机器学习实战之决策树(一)
    列表去掉重复元素
    cv2.putText,cv2.rectangle方法
    sklearn 中文文档
    numpy delete方法
    MATLAB ~的用法
    MATLAB 基础
    Python 遍历目录下的子目录和文件
  • 原文地址:https://www.cnblogs.com/ss0202go/p/11210732.html
Copyright © 2011-2022 走看看