• Flask 设置,获取,删除cookie 和 requests cookie 关联接口


    1. # 1,登录成功 设置Cookie
    2. # 2,查询余额,需要携带Cookie,负责返回未登录
    3. # 3,退出登录清空Cookie
    4. from flask import Flask, request, make_response
    5. app = Flask(__name__)
    6. # 登录设置Cookie
    7. @app.route("/login")
    8. def login():
    9. username = request.args.get('username')
    10. password = request.args.get('password')
    11. # 判断用户名和密码
    12. if username == 'admin' and password == '123':
    13. print('登录成功')
    14. # 设置Cookie
    15. res = make_response("登录成功")
    16. res.set_cookie("login", "asdasdasd")
    17. return res
    18. else:
    19. return '用户名或密码错误'
    20. # 查询余额,需携带Cookie
    21. @app.route("/check_money")
    22. def check_money():
    23. # 设置一个金额变量
    24. money = '8848.88'
    25. request.cookies.get("login")
    26. if 'login' in request.cookies:
    27. print('cookies存在')
    28. print(money)
    29. return '查询金额为:'+money
    30. else:
    31. return '查询金额请先登录'
    32. @app.route("/login_out")
    33. def login_out():
    34. resp = make_response("注销登录")
    35. # 删除cookie
    36. resp.delete_cookie("login")
    37. return resp
    38. if __name__ == '__main__':
    39. app.run()

    示例请求代码

    1. import requests
    2. # 多个接口使用同一个session对象,通过requests.session()可以帮我们去管理和关联cookie
    3. session = requests.session()
    4. def login():
    5. url = 'http://127.0.0.1:5000/login'
    6. data = {
    7. 'username':'admin',
    8. 'password':'123'
    9. }
    10. res = session.get(url=url , params=data)
    11. print(res.text)
    12. def check_money():
    13. url = 'http://127.0.0.1:5000/check_money'
    14. res1 = session.get(url=url)
    15. print(res1.text)
    16. login()
    17. check_money()

    注释掉login函数,只请求check_money这个接口,缺少cookie无法返回查询的结果

      当请求login接口的时候会设置cookie,通过requests.session()可以帮我们去管理和关联cookie,

     这样check_money接口请求的时候可以获取的cookie,从而返回了我们想要查询的数据

  • 相关阅读:
    【教程】Autojs使用OpenCV进行SIFT/BRISK等算法进行图像匹配
    (一)Ansible-介绍及安装
    【差分演化算法相关文献总结】
    【大数据】-- flink kubernetes operator 入门与实践
    问:React的setState为什么是异步的?
    物联网AI MicroPython传感器学习 之 4路电容式触摸开关
    milvus数据管理-删除数据
    ProAntd+react+ts表格行点击高亮+表格联动
    Ubuntu 安装 tbb 步骤详解
    列表、元组和字典
  • 原文地址:https://blog.csdn.net/qq_26086231/article/details/125564900