# -*- 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'])
外卖项目login.py
最新推荐文章于 2023-09-15 14:49:53 发布