zoukankan      html  css  js  c++  java
  • 接口测试学习-python第六课(登录判断后存入数据)

    很多时候,一个接口的功能实现是需要前提条件的。比如推送数据需要先登录系统等。这里用一个文章发布接口来进行示例。想要通过接口发表文章,首先需要登录,要如何判断这个账号已经登录了呢。登录的账号可能有多个,总不能每次都验证不同的数据吧。这时候就可以通过登录接口存储一些登录信息,然后在文章发表接口时判断登录信息是否符合且有效,就可以判断该账号是登录状态的。这样不论登录的是哪一个账号,文章发票接口都能顺利验证。

     1 import flask,time,json
     2 from lib import tools
     3 server = flask.Flask(__name__)
     4 
     5 
     6 @server.route('/login', methods=['get'])
     7 def login():
     8     username = flask.request.values.get('username')
     9     pwd = flask.request.values.get('pwd')
    10     if username == 'gyx' and pwd=='123456':
    11         session_id = tools.my_md5(username+time.strftime('%Y%m%d%H%M%S'))
    12         key = 'txz_session:%s'%username
    13         tools.op_redis(key,session_id,3600)
    14         res = {'session_id':session_id,'error_code':0,'msg':'登录成功',
    15                'login_time':time.strftime('%Y%m%d%H%M%S') }
    16         json_res = json.dumps(res, ensure_ascii=False)  # 返回结果弄成一个json
    17         res = flask.make_response(json_res)  # 构造成一个对象
    18         res.set_cookie(key, session_id, 600)
    19         return res
    20 
    21 
    22 
    23 @server.route('/posts', methods=['get'])
    24 def posts():
    25     cookies = flask.request.cookies  # 获取到所有的cookie
    26     username = ''  # 定义username和session是为了在没有传cookie的时候用的
    27     session = ''
    28     for key,value in cookies.items():
    29         if key.startswith('txz_session'):
    30             username = key
    31             session = value  # 调用接口时得到的session
    32     redis_session = tools.op_redis(username)  # 从redis里面获取到cookie
    33     if redis_session == session:  # 判断是否登录成功
    34         title = flask.request.values.get('title')  # 获取文章标题
    35         content = flask.request.values.get('content')  #获取文章内容
    36         article_key = 'article:%s'%title
    37         tools.op_redis(article_key,content)  # 登录成功就存入文章标题和内容
    38         res = {'msg':'文章发表成功', 'msg_code': 0}
    39     else:
    40         res = {'msg':'用户未登录','msg_code':2009}
    41     return res
  • 相关阅读:
    AI图形算法的应用之一:通过图片模板对比发现油田漏油
    基于GPS定位和人脸识别的作业识别管理系统
    windows平板的开发和选型
    windows系统和IE的兼容性问题
    ASP.NET写的一个博客系统
    Android Studio3.2.1升级刨坑记录
    C#怎样链接mysql数据库
    学习进度条博客
    期末总结
    【操作系统】实验四 主存空间的分配和回收
  • 原文地址:https://www.cnblogs.com/myyard777/p/9051912.html
Copyright © 2011-2022 走看看