zoukankan      html  css  js  c++  java
  • 小练习-接口发布文章 验证未登录

    import flask,time,json
    from lib import tools
    server = flask.Flask(__name__)

    @server.route('/login',methods=['get'])
    def login():
    username = flask.request.values.get('username')
    pwd = flask.request.values.get('pwd')
    if username == 'nhy' and pwd=='123456':
    session_id = tools.my_md5(username+time.strftime('%Y%m%d%H%M%S'))
    key = 'txz_session:%s'%username
    tools.op_redis(key,session_id,600)
    res = {'session_id':session_id,'error_code':0,'msg':'登录成功',
    'login_time':time.strftime('%Y%m%d%H%M%S') } #给用户返回的信息
    json_res = json.dumps(res,ensure_ascii=False)#返回结果弄成json
    res = flask.make_response(json_res) #构造成返回结果的对象
    res.set_cookie(key,session_id,3600) #最后的数字是cookie的失效时间。
    return res

    @server.route('/posts')
    def posts():
    cookies = flask.request.cookies #所有的cokies
    username = '' #
    session = ''#定义这两个变量是为了,在没有传cookie的时候用的。
    for key,value in cookies.items():
    if key.startswith('txz_session'): #判断cookie以txz_session开头的话,取到它
    username = key
    session = value #调用接口的时候用户传过的seesion,从cookie里面取过来的
    redis_session = tools.op_redis(username) #从redis里面获取到的的cookie
    if redis_session == session: #判断传过来的seeion和redis里面的session一样
    title = flask.request.values.get('title')#获取文章标题
    conent = flask.request.values.get('content')#获取文章内容
    article_key ='article:%s'%title #key都以article开头
    tools.op_redis(article_key,conent) #把文章写入redis
    res = {'msg':'文章发表成功!','code':0}
    else:
    res = {'msg':'用户未登录!','code':2009}

    return json.dumps(res,ensure_ascii=False)


  • 相关阅读:
    生活
    通俗易懂----尾递归
    。。。
    调用startActivityForResult,onActivityResult无响应的解决办法
    安卓官方ViewPager与android.support.design.widget.TabLayout双向交互联动切换 。
    1、面向对象以及winform的简单运用(开篇)
    15、C#基础整理(递归)
    14、C#基础整理(函数)
    13、C#基础整理(枚举)
    12、C#基础整理(结构体)
  • 原文地址:https://www.cnblogs.com/irisx/p/9041598.html
Copyright © 2011-2022 走看看