#-*-encoding:utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf8')
import tornado.web
import tornado.ioloop
class we(tornado.web.RequestHandler):
def get(self):
a=tornado.escape.url_escape('未加密的cookie串')#因为字符串中有中文字符,所以要先用tornado.secape模块中url编码,然后可以用tornado.escape.url_unescape()解码,防止出现乱码的现象
self.set_cookie('a',a)#设置普通cookie
self.set_secure_cookie('scr_cookie','SCURE_COOKIE')#设置安全cookie
self.write("<a href='/gcook'>查看设置的cookie</a>")
class ni(tornado.web.RequestHandler):
def get(self):
a=self.get_cookie('a')#获取一般cookie值
a=tornado.escape.url_unescape(a)#反url编码
scr_cookie=self.get_secure_cookie('scr_cookie').decode('utf-8')#获取安全cookie值
self.write('普通cookie:%s,安全cookie:%s'%(a,scr_cookie))
app=tornado.web.Application(handlers=[(r'/scook',we),(r'/gcook',ni)],cookie_secret='aaaabbbbbb',debug=True)#使用安全密钥,必须为Application类提供cookie_secret参数,以给出加密的密钥
if __name__=='__main__':
app.listen(8888)#监听的端口
tornado.ioloop.IOLoop.instance().start()