• 测开之路一百三十九:会话管理之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类的继承(进阶5)
    面向对象编程基础(进阶4)
    Python模块(进阶3)
    Python函数式编程(进阶2)
    python多线程
    Ternary Search Tree Java实现
    Trie和Ternary Search Tree介绍
    索引时利用K-邻近算法过滤重复歌曲
    Sql排名和分组排名
    Lucene和jackson冲突
  • 原文地址:https://www.cnblogs.com/zhongyehai/p/11478982.html
Copyright © 2020-2023  润新知