python requests验证登陆
时间:2022-09-25 来源:未知 投稿:admin 点击:次
例:
from flask import Flask,request import base64,time,random app = Flask(__name__) users = { "fwqzx": ["123456"] } def gen_token(uid): token = base64.b64encode(':'.join([str(uid), str(random.random()), str(time.time() * 7200)])) #使用用户名,随机数,时间戳*7200秒,通过:分隔,生成一个token users[uid].append(token) return token def verify_token(token): _token = base64.b64decode(token) #对传进来的token进行解密 if not users.get(_token.split(':')[0])[-1] == token: #使用:进行切分,判断第一个变量(用户名),判断与之前生成好的token对比。 return -1 #不致,返回-1 if float(_token.split(':')[-1]) >= time.time(): #如果一致,验证token的时间是否过期。 return 1 #如果有效,返回1 else: return 0 #否则,返回0 @app.route('/',methods=['GET','POST']) def index(): print(request.headers) return "hello:" @app.route('/login',methods=['GET','POST']) def login(): uid, pw = base64.b64decode(request.headers['Authorization'].split(' ')[-1]).split(':') if users.get(uid)[0] == pw: return gen_token(uid) else: return 'error' @app.route('/test',methods=['GET','POST']) def test(): token = request.args.get('token') if verify_token(token) == 1: return 'data' else: return 'error' if __name__ == '__main__': app.run()
如果您的问题仍未解决,还可以加入服务器在线技术交流QQ群:8017413寻求帮助。
相关内容