Token关联演示_获取登录接口的Token值给其他接口使用

代码如下:

HOST = 'http://xxx.xx.xx.xx:8080'

import hashlib
import requests
import pprint

def get_md5(password):
    """
    加密:输入一个字符串的密码,输出的一个md5加密
    :param password:
    :return:
    """
    # 1-实例化加密对象
    md5 = hashlib.md5()
    # 2、进行加密操作
    md5.update(password.encode('utf-8'))
    # 3、返回加密后的值
    return md5.hexdigest()
# print(get_md5('123456'))

class Login:
    def login(inData, getToken=False):
        '''
        登录:获得响应数据或登录接口的Token值
        :param inData:账号+密码->字典
        :param getToken:可缺省参数; True:获取token; False:返回接口响应数据。
        :return:
        '''
        # 1、url
        url = f'{HOST}/xxx/xxx'
        # 2、组织参数
        # 字典的修改值操作 字典[] = 新的值
        inData['password'] = get_md5(inData['password'])
        #== inData = {'username': 'ymnl', 'password': '6a148418dea5a14fb9417c87e3fbef38'}
        # 3、发送请求
        response = requests.post(url, params=inData)
        # 4、获取响应信息
        if getToken == False:
            return response.json()
        else:
            return response.json()['data']['token']

class Shop:
    def __init__(self, inToken):
        """
        不管哪个接口都需要登录的Token
        :param inToken:
        """
        self.header = {"Authorization": inToken}

    def shop_list(self, inData):
        """
        商品列表
        :return:
        """
        # 1、url
        url = f'{HOST}/xxx/xxx'
        # 2、组织参数
        payload = inData
        # {'username': 'ymnl', 'password': '6a148418dea5a14fb9417c87e3fbef38'}
        # 3、发送请求
        response = requests.get(url, params=payload, headers=self.header)
        # 4、获取响应信息
        print(response.text)


if __name__ == '__main__':
    # 登录:获得登录接口的Token值
    Token = Login.login({"username": "ymnl", "password": "123456"}, getToken=True)
    # 调用商品列表接口
    response = Shop(Token).shop_list({"page":1,"limit":20})

版权声明:本文为weixin_44801980原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。