向后台提交数据除了前端url,form表单,Ajax外还可以用cookie,secure_cookie,提交更多信息可以在用cookie基础上用session,
cookie,secure_cookie提交用户数据:浏览器访问1页面,后端判断前端浏览器提供的用户对不对,对的话,设置cookie或secure_cookie成用户名,用同一个浏览器访问2页面时,后端获取浏览器携带的cookie,如果后端获取的cookiei携带的用户是后端存储的用户,可以允许登陆,否则跳到登陆页面。
代码如下:
1 #!/usr/bin/env python 2 #-*- coding:utf-8 -*- 3 import tornado.web 4 import tornado.ioloop 5 6 class LoginHandler(tornado.web.RequestHandler): 7 def get(self, *args, **kwargs): 8 c = self.get_argument('u',None) 9 if c in ['alex','eric']: 10 # self.set_cookie('name',c) 11 self.set_secure_cookie('name',c) 12 else: 13 self.write('请Login') 14 class ManagerHandler(tornado.web.RequestHandler): 15 def get(self, *args, **kwargs): 16 # cc = self.get_cookie('name') 17 cc = self.get_secure_cookie('name',None) 18 print(cc) 19 print(str(cc,encoding='utf-8')) 20 new_cc = str(cc,encoding='utf-8') 21 if new_cc in ['alex','eric']: 22 self.write('欢迎登陆manager,'+str(new_cc)) 23 else: 24 self.write('验证不通过') 25 26 setting = { 27 'cookie_secret':'eeee' 28 } 29 app = tornado.web.Application([(r'/login',LoginHandler), 30 (r'/manager',ManagerHandler), 31 ],**setting) 32 if __name__ == '__main__': 33 app.listen('8000') 34 tornado.ioloop.IOLoop.instance().start()