码迷,mamicode.com
首页 > 编程语言 > 详细

一个验证登录的程序:python编写flask架构restful风格--2017年4月6日

时间:2017-04-06 20:02:33      阅读:254      评论:0      收藏:0      [点我收藏+]

标签:get   bug   html   UI   blog   api   ati   www   ==   

一个验证登录的程序

摘抄自:极客学院-Python RESTful API开发工具介绍及应用   http://www.jikexueyuan.com/course/623.html

 

import base64
import time
import random

from flask import Flask,request

app = Flask(__name__)

users = {
    "magigo": ["123456"]
}

def gen_token(uid):
    token = base64.b64encode(:.join([str(uid),str(random.random()),str(time.time()+7200)]))
    users[uid].append(token)
    return token

def verify_token(token):
#    print token
    _token = base64.b64decode(token)
#    print users.get(_token.split(‘:‘)[0])[-1]
    if not users.get(_token.split(:)[0])[-1] == token:
        return -1
    if float(_token.split(:)[-1]) >= time.time():
        return 1
    else:
        return 0


@app.route(/index, methods=[POST,GET])
def hello_world():
    print request.headers
    return Hello World

@app.route(/login,methods=[POST,GET])
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=[POST,GET])
def test():
    token = request.args.get(token)
    if verify_token(token) == 1:
        return data
    else:
        return error

if __name__==__main__:
    app.run(debug=True)
import requests

r = requests.get(http://127.0.0.1:5000/login,auth=(magigo,123456))
print r.text 


token = bWFnaWdvOjAuOTMxODYzMDIyNjA0OjE0OTE0Nzk3ODkuMDc=
r = requests.get(http://127.0.0.1:5000/test,params={token:token})
print r.text

 

一个验证登录的程序:python编写flask架构restful风格--2017年4月6日

标签:get   bug   html   UI   blog   api   ati   www   ==   

原文地址:http://www.cnblogs.com/jingbostar/p/6674864.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!