cookie简介
- cookie相当于一个存储空间,放在浏览器中
- cookie的存储大致分为两种
- 一种是临时cookie,存储在内存中
- 另一种是永久cookie,存储在硬盘中,一般设置了过期时间
- 只要域名下存储了相关cookie,浏览器都会将相关的cookie发送到服务器,无论服务器用不用的到
- cookie在前端和后端都能获取到
语法
- 设置安全cookie 官网
- set_secure_cookie
- 获取安全cookie 官网
- get_secure_cookie
- 清除安全cookie 官网
- clear_cookie
- 使用的时候一定要先配置上一个密钥,例如
cookie_secret="S68FWQn+dyicA8HKWnyg8KxWdpL2QobMgY40X0GnSUWZWrN8vdmZrUsuLgb0Plal"
实例
利用cookie完成一个访问次数的功能
import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
def get(self):
# 获取cookie
cookie = self.get_secure_cookie("count")
print(cookie)
count = int(cookie) + 1 if cookie else 1
count_string = "1 time" if count == 1 else "{} times".format(count)
# 设置cookie
self.set_secure_cookie("count",str(count))
content = "你已经浏览了当前页面{}".format(count_string)
self.write(content)
def make_app():
secret = "S68FWQn+dyicA8HKWnyg8KxWdpL2QobMgY40X0GnSUWZWrN8vdmZrUsuLgb0Plal"
return tornado.web.Application(
handlers=[(r"/", MainHandler),],
cookie_secret=secret
)
if __name__ == "__main__":
app = make_app()
app.listen(8888)
tornado.ioloop.IOLoop.current().start()