zoukankan      html  css  js  c++  java
  • 测开之路一百三十九:会话管理之cookie写入、读取、和更新

    机制:服务器端发送的小段文本信息存储在客户端硬盘

    功能:记录用户偏好,请求、页面、站点间共享信息

    特点:易丢失、安全隐患

    添加cookie,需要用到make_respons.set_cookie

    @app.route('/setck/')
    def setck():
    """ 添加cookie """
    response = make_response('ok')
    response.set_cookie('username', 'aaa')
    return response

    可在浏览器上设置是否存cookie,如谷歌:隐私设置-网站设置-cookie

    查看cookie内容:查看所有cookie和网站数据,搜索要查看的域名,默认过期时间是关闭浏览器即失效

    获取请求里面的cookie:request.cookies.get('xxx')

    @app.route('/getck/')
    def getck():
    """ 获取cookie request.cookies.get('xxx') """
    ck = request.cookies.get('username')
    if ck:
    return ck
    return '未获取到cookie'

    set_cookie的一些参数

    @app.route('/setck/')
    def setck():
    """ 添加cookie,timedelta由datatime导入 """
    response = make_response('ok')
    response.set_cookie('username', 'aaa', path='/', expires=datetime.now() + timedelta(days=7))
    # set_cookie 参数
    # dmain='baidu.com' 指定cookie只对baidu.com起作用
    # path='/' 此cookie能访问的路径
    # httponly=True 只能http访问,默认关闭
    # max_age=60 cookie生命周期,默认为None,浏览器关闭时销毁,单位为秒
    # expires=datetime.now() + timedelta(days=7) # 指定过期时间为7天
    return response

    删除cookie:由于不允许直接操作硬盘,所以采用更新cookie生效时间的方法,找到cookie,把生效时间设为当前时间之前

    @app.route('/rmck/')
    def remove_cookie():
    """ 删除cookie,
    由于不允许直接操作硬盘,所以采用更新cookie生效时间的方法
    找到cookie,把生效时间设为当前时间之前
    """
    resp = make_response('删除cookie')
    # 把生效时间设为上一秒
    resp.set_cookie('username', '', expires=datetime.now() + timedelta(minutes=-1))
    return resp

  • 相关阅读:
    Python全栈_Day3_网络基础
    Python全栈_Day2_操作系统基础
    Python全栈_Day1_计算机硬件
    NX二次开发-以指定字符分割字符串
    NX二次开发-获取当前项目路径
    NX二次开发-根据文件名删除文件
    NX二次开发-写入信息窗口
    NX二次开发-读文件
    NX二次开发-获取NX里的对象信息
    NX二次开发-菜单
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/11478982.html
Copyright © 2011-2022 走看看