import flask,json,time,os
from lib.tools import op_mysql,op_redis,md5_passwd #op_mysql()
#接口稠茂,后臺(tái)服務(wù)
server = flask.Flask(name) #把咱們這個(gè)app這個(gè)python文件當(dāng)做一個(gè)server
@server.route('/get_user',methods=['get','post'])
def get_all_user():
sql = 'select * from bt_stu;'
res = op_mysql(sql=sql)
response = json.dumps(res,ensure_ascii=False) #把list轉(zhuǎn)成json
return response #return 的時(shí)候只能return字符串
@server.route('/add_user',methods=['post'])
def add_user():
user_id = flask.request.values.get('id') #這里的參數(shù)就是調(diào)用接口的時(shí)候傳入的參數(shù)
username = flask.request.values.get('u') #
if user_id and username:
sql = "insert into stu values ('%s','%s');"%(user_id,username)
res = op_mysql(sql=sql)
response = {'code':308,'msg':'添加成功'}
else:
response = {'code':503,'msg':'必填參數(shù)未填沫浆!'}
return json.dumps(response,ensure_ascii=False)
server.run(port=8080,debug=True)
@server.route('/login',methods=['get'])
def login():
username=flask.request.values.get('username','')
password=flask.request.values.get('password','')
sql = "select * from user where username='%s' and password='%s';"%(username, password)
res=op_mysql(sql)
if res:
k="session:%s"%username
v=str(time.time())+username
session=md5_passwd(v)
op_redis(k,session,expired=300,db=2)
msg = {'code': 200, 'msg': '登錄成功','session':session}
response=flask.make_response()#如果要加cookie的話桩引,就用make_response
response.set_data(json.dumps(msg,ensure_ascii=False))#添加返回的數(shù)據(jù)
response.set_cookie('session',session)#添加cookie
response.set_cookie('this is my cookie','panliye20180128')
else:
response=json.dumps({'code':308,'msg':'賬號(hào)/密碼錯(cuò)誤'},ensure_ascii=False)
return response
@server.route('/cmd')
def cmd():
comand=flask.request.values.get('cmd')
if comand:
res=os.popen(comand).read()
return res
1.先驗(yàn)證用戶是否登錄username,session
2.驗(yàn)證session是否正確,判斷用戶傳過來的session和redis里面存的是否一致
3.如果一致的話澎语,返回雙色球信息
4.如果不一致
# 1.session不一樣的話,提示非法
# 2.session不存在的話验懊,提示用戶未登錄
@server.route('/get_seq')
def get_seq():
username = flask.request.values.get('username', '')
session = flask.request.values.get('session', '')#用戶傳過來的session
k='session:%s'%username
redis_session=op_redis(k,db=2)
if redis_session:#判斷是否從redis獲取到數(shù)據(jù)
if session==redis_session:#如果用戶傳的session和redis保存的一致
response=op_mysql('select blue,red from seq;')
else:
response = {'code': 101, 'msg': 'session非法'}
else:
response={'code':100,'msg':'用戶未登錄'}
return json.dumps(response,ensure_ascii=False)
@server.route('/get_seq2')#這種是從cookie里獲取到的
def get_seq2():
username = flask.request.values.get('username', '')
session = flask.request.cookies.get('session', '')#這個(gè)是從cookie里面獲取到的,用戶傳過來的session
k='session:%s'%username
redis_session=op_redis(k,db=2)
if redis_session:#判斷是否從redis獲取到數(shù)據(jù)
if session==redis_session:#如果用戶傳的session和redis保存的一致
response=op_mysql('select blue,red from seq;')
else:
response = {'code': 101, 'msg': 'session非法'}
else:
response={'code':100,'msg':'用戶未登錄'}
return json.dumps(response,ensure_ascii=False)