tornado之cookie
cookie的本质其实就是在浏览器端保存的键值对, 每当浏览器端发送一次请求, 都会将这些键值对附加在请求中并发送给服务器端。
一、目录结构
二、main_pro.py
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 import tornado.ioloop 5 import tornado.web 6 7 8 class IndexHandler(tornado.web.RequestHandler): 9 def get(self, *args, **kwargs): 10 # self.write("Hello, world") 11 t = self.get_cookie(‘auth‘) 12 if t == ‘1‘: 13 self.render(‘index.html‘) 14 else: 15 self.redirect(‘/login‘) 16 17 class LogoutHandler(tornado.web.RequestHandler): 18 def get(self, *args, **kwargs): 19 # self.write("Hello, world") 20 self.set_cookie(‘auth‘, ‘0‘) #退出登录,将cookie信息清空 21 self.redirect(‘/login‘) 22 23 24 class LoginHandler(tornado.web.RequestHandler): 25 def get(self, *args, **kwargs): 26 # self.write("Hello, world") 27 self.render(‘login.html‘, status_text=‘‘) 28 29 30 def post(self, *args, **kwargs): 31 username = self.get_argument(‘username‘, None) 32 pwd = self.get_argument(‘password‘, None) 33 if username == ‘yusheng_liang‘ and pwd == ‘adm‘: 34 self.set_cookie(‘auth‘, ‘1‘) #登录谁成功,设置cookie信息 35 self.redirect(‘/index‘) 36 else: 37 self.render(‘login.html‘, status_text=‘登录失败‘) 38 settings = { 39 ‘template_path‘: ‘views‘, #视图模板路径 40 ‘static_path‘: ‘static‘, #静态文件路径 41 } 42 43 #路由映射,路由系统 44 def make_app(): 45 return tornado.web.Application([ 46 (r"/login", LoginHandler), 47 (r"/index", IndexHandler), 48 (r"/logout", LogoutHandler), 49 ], **settings) 50 51 if __name__ == "__main__": 52 app = make_app() 53 app.listen(8888) 54 tornado.ioloop.IOLoop.current().start()
1)self.set_cookie(‘name‘, ‘test‘) 设置未加密的cookie, 键为‘name‘, 值为test
2)self.set_secure_cookie(‘user‘, ‘test‘) 设置加密cookie, 键为‘user‘, 值为test. 设置加密cookie我们需要在配置中添加自定义的加密串(俗称对加密结果加盐)"cookie_secret": ‘test-secret,‘
3)name = self.get_cookie(‘name‘, None)获取指定key未加密的cookie的值
4)user = self.get_cookie(‘user‘, None) 获取指定key的加密后的cookie的值
5)对于set_cookie()和set_secure_cookie()都用以下常见参数value 表示传入cookie的name对应的值name 表示传入cookie的键
6)domain=None 表示域名
,温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/40291.html
- 上一篇:搭建服务
- 下一篇:js中常见的字符串方法(3)