目录
-
设置
设置 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是由浏览器去清理 的。