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 == 'zr' 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的失效时间。如果不加这句不会向浏览器中写cookies
            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)
  • 相关阅读:
    条件注释判断IE版本
    win7及以上系统打开chm空白或显示"无法打开"的2个解决方案
    复制和删除txt文件
    casperjs 抓取爱奇艺高清视频
    chrome扩展程序之http/https 报文拦截
    bootstrap 的 datetimepicker 结束时间大于开始时间
    Jquery EasyUI的datagrid页脚footer使用及数据统计
    Web应用程序在加入反向代理服务器的时候如何获得真实IP
    c#4.0 新特性 可选参数 可曾用过?
    Pyhon
  • 原文地址:https://www.cnblogs.com/ruijie/p/10636394.html
Copyright © 2011-2022 走看看