向后台提交数据除了前端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()