Tornadao—cookie

目录

  1. 设置
  2. 获取
  3. 清除

  • 设置


    设置
    set_cookie(name, value, domain=None, expires=None, path='/',
    expires_days=None)
    
    参数名 说明
    name cookie名
    value cookie值
    domain 提交cookie时匹配的域名
    path 提交cookie时匹配的路径
    expires
    cookie的有效期,可以是时间戳整数、时间元组或者
    datetime类型,为UTC时间
    expires_days cookie的有效期,天数,优先级低于expires
    
    
    
    import datetime
    class IndexHandler(RequestHandler):
     def get(self):
     self.set_cookie("n1", "v1")
     self.set_cookie("n2", "v2", path="/new",
    expires=time.strptime("2016-11-11 23:59:59","%Y-%m-%d %H:%M:%S"))
     self.set_cookie("n3", "v3", expires_days=20)
     # 利⽤time.mktime将本地时间转换为UTC标准时间
     self.set_cookie("n4", "v4",
    expires=time.mktime(time.strptime("2016-11-11 23:59:59","%Y-%m-%d
    %H:%M:%S")))
     self.write("OK")
    
    
    
    原理
    设置cookie实际就是通过设置header的Set-Cookie来实现的。
    class IndexHandler(RequestHandler):
     def get(self):
     self.set_header("Set-Cookie", "n5=v5; expires=Fri, 11 Nov
    2016 15:59:59 GMT; Path=/")
     self.write("OK")
  • 获取


    获取
    get_cookie(name, default=None)
    获取名为name的cookie,可以设置默认值。
    
    
    class IndexHandler(RequestHandler):
     def get(self):
     n3 = self.get_cookie("n3")
     self.write(n3)
  • 清除


    清除
    clear_cookie(name, path='/', domain=None)
    删除名为name,并同时匹配domain和path的cookie。
    clear_all_cookies(path='/', domain=None)
    删除同时匹配domain和path的所有cookie。
    
    class ClearOneCookieHandler(RequestHandler):
     def get(self):
     self.clear_cookie("n3")
     self.write("OK")
    class ClearAllCookieHandler(RequestHandler):
     def get(self):
     self.clear_all_cookies()
     self.write("OK")
    
    
    注意:执⾏清除cookie操作后,并不是⽴即删除了浏览器中的cookie,⽽是给
    cookie值置空,并改变其有效期使其失效。真正的删除cookie是由浏览器去清理
    的。
发布了258 篇原创文章 · 获赞 6 · 访问量 3528

猜你喜欢

转载自blog.csdn.net/piduocheng0577/article/details/105069246
今日推荐