向後臺提交數據除了前端url,form表單,Ajax外還可以用cookie,secure_cookie,提交更多信息可以在用cookie基礎上用session, cookie,secure_cookie提交用戶數據:瀏覽器訪問1頁面,後端判斷前端瀏覽器提供的用戶對不對,對的話,設置cookie或se ...
向後臺提交數據除了前端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()