外卖项目login.py

# -*- coding: utf-8 -*-
# 2021/8/29

# resp.text()返回字符串(大概率是json格式),获取网页html
# resp.content()返回字节,用于下载图片和文件
# resp.json()返回字典,明确服务器返回json数据时使用,
# 上面是json转字典
# resp.raw()返回原始格式

#接口关键性名词透析
#token令牌,由服务器产生,存在服务器的内存和硬盘,类似汤泉的手牌,身份验证
#登录----->mysql数据库(在数据库中进行验证,获取token)------->token写入redis
# (内存高速缓存数据库)缓存------>其他接口从Redis中调用token

import requests
import hashlib
#哈希库

#加密方式:规则加密,自定义加密
def get_md5(psw):
    #1.实例化MD5对象
    md5 = hashlib.md5()
    #2.调用md5
    md5.update(psw.encode('utf-8'))
    #3.返回值
    return md5.hexdigest()#返回16进制结果

class Login():
    def login(self,inData,getToken=False):
        '''
        :param inData:
        :param getToken:
        :return:
        '''
        HOST = 'http://121.41.14.39:8082'
        url = f'{HOST}/account/sLogin'
        inData['password'] = get_md5(inData['password'])
        # payload = {'username':'th0004','password':'E2E2FD34C1CFEBDF431177DB8E49FDD2'}
        payload = inData
        resp = requests.post(url, data=payload)
        #字典单引号,json双引号
        # print(resp.text)#json格式,字符串
        # print(resp.json())#返回字典
        '''
        data:默认请求体的数据类型是表单格式
        json:默认请求体的数据类型是json格式
        params:参数放到url的?后面
        files:文件上传接口
        '''
        # print('登录接口的请求体>>>>',resp.request.body)
        # print('登录接口的url>>>>',resp.request.url)
        # print('登录接口的请求头>>>>',resp.request.headers)
        # print('登录接口的响应头>>>>',resp.headers)
        # 返回是字典
        # print(resp.json())
        # print(resp.json()['data']['token'])
        if getToken:
            return resp.json()['data']['token']
        else:
            return resp.json()

if __name__ == '__main__':
    res1 = Login()
    res2 = res1.login({'username':'th0004','password':'11449'},getToken=True)
    print(res2)
    # print(res2['data']['token'])




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值