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

Python学习之==>有依赖关系的接口开发

时间:2018-06-26 18:35:21      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:需求   article   tool   python学习   cookies   font   调用接口   strong   开发   

一、接口需求

1、登录接口

  (1)登录成功后将session信息存入redis数据库并设置失效时间为600秒

  (2)构造返回结果的对象flask.make_response()

  (3)产生cookie,失效时间同样设定为600秒

2、发帖接口

  (1)根据登录接口成功写入的cookie来判断用户是否登录

  (2)判断用户传过来的session和redis数据库中存入的session是否一致

  (3)如果一致的话则进行发帖操作

二、代码实现

 1 import flask,time,json
 2 from lib.tools import my_md5,op_redis
 3 server = flask.Flask(__name__)
 4 
 5 @server.route(/login)
 6 def login():
 7     username = flask.request.values.get(username)
 8     pwd = flask.request.values.get(pwd)
 9     if username == luolei and pwd == 123456:
10         session_id = my_md5(username+time.strftime(%Y%m%d%H%M%S))
11         key = session:%s%username
12         op_redis(key,session_id,600)
13         res = {sessionid:session_id,error_code:0,msg:登录成功,
14                login_time:time.strftime(%Y%m%d%H%M%S)}#给用户返回的信息
15         json_res = json.dumps(res,ensure_ascii=False)#返回结果转成json
16         res = flask.make_response(json_res)#构造返回结果的对象
17         res.set_cookie(key,session_id,600)#600是cookie的失效时间
18         return res
19 
20 # 有依赖关系的接口
21 # 根据上面登录成功写入的cookie来判断用户是否登录,然后进行发帖操作
22 @server.route(/posts)
23 def posts():
24     username = ‘‘
25     session = ‘‘ # 定义这两个变量是为了在没有传cookie的时候用的
26     cookies = flask.request.cookies # 获取所有的cookie
27     for key,value in cookies.items():
28         if key.startswith(session:): # 判断cookie是否以session开头
29             username = key
30             session = value # 调用接口的时候用户传过来的session,从cookie中获取到的
31     redis_session = op_redis(username) # 从redis中获取到的cookie
32     if redis_session == session: # 判断用户传过来的session和redis里面的session是否一样
33         title = flask.request.values.get(title)
34         content = flask.request.values.get(content)
35         article_key = article_key:%s%title
36         op_redis(article_key,content) # 把文章写入redis
37         res = {msg:文章发表成功,code:0000}
38     else:
39         res = {msg:用户未登录,code:2001}
40     return json.dumps(res,ensure_ascii=False)

 

Python学习之==>有依赖关系的接口开发

标签:需求   article   tool   python学习   cookies   font   调用接口   strong   开发   

原文地址:https://www.cnblogs.com/L-Test/p/9230585.html

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