Python3 ---Tornado의 쿠키

2924 단어 Python3------Tornado
1. 쿠키 설정:
set_cookie(name, value, domain=None, expires=None, path='/', expires_days=None)
매개변수 설명:
  • name: 쿠키 이름
  • value: 쿠키 값
  • domain: 쿠키를 제출할 때 일치하는 도메인 이름
  • path: 쿠키를 제출할 때 일치하는 경로
  • expires: 쿠키의 유효기간은 시간 스탬프 정수, 시간 모듈 또는datetime 형식으로 UTC 시간
  • expires_days: 쿠키의 유효기간, 일수, 우선순위가expires
  • 보다 낮음
     
    예:
    import tornado.web
    import tornado.ioloop
    import tornado.httpserver
    import os
    import pymysql
    import time
    
    from tornado.options import define, options
    
    
    define("port", default=8001, help="run on the given port", type=int)
    
    class IndexHandler(tornado.web.RequestHandler):
        def get(self):
            print(self.get_cookie("n1"))
            print(self.get_cookie("n2"))
            print(self.get_cookie("n3"))
            print(self.get_cookie("n4"))
    
            self.set_cookie("n1", "v1")
            self.set_cookie("n2", "v2", path="/new", expires=time.strptime("2018-07-30 23:59:59", "%Y-%m-%d %H:%M:%S"))
            self.set_cookie("n3", "v3", expires_days=20)
            #   time.mktime        UTC    
            self.set_cookie("n4", "v4", expires=time.mktime(time.strptime("2018-07-30 23:59:59", "%Y-%m-%d %H:%M:%S")))
            self.write("OK")
    
    
    class Application(tornado.web.Application):
        def __init__(self):
            handlers = [
                (r"/", IndexHandler),
                (r"/new", IndexHandler),
            ]
            settings = dict(
                template_path=os.path.join(os.path.dirname(__file__), "templates"),
                static_path=os.path.join(os.path.dirname(__file__), "statics"),
                debug=True,
            )
            super(Application, self).__init__(handlers, **settings)
    
    if __name__ == "__main__":
        tornado.options.parse_command_line()
        http_server = tornado.httpserver.HTTPServer(Application())
        http_server.listen(options.port)
        tornado.ioloop.IOLoop.instance().start()
    

     
    2. 쿠키 획득:
    get_cookie(name, default=None)
    class IndexHandler(RequestHandler):
        def get(self):
            n3 = self.get_cookie("n3")
            self.write(n3)

     
    3. 명확한 쿠키:
    clear_쿠키(name, path='/', domain=None): 이름이name이고domain과 path가 일치하는 쿠키를 삭제합니다.
    clear_all_cookies(path='/', domain=None):domain과 path가 일치하는 모든 cookie를 삭제합니다.
    class ClearOneCookieHandler(RequestHandler):
        def get(self):
            self.clear_cookie("n3")
            self.write("OK")
    
    class ClearAllCookieHandler(RequestHandler):
        def get(self):
            self.clear_all_cookies()
            self.write("OK")

    주의: 쿠키 제거 작업을 실행하면 브라우저의 쿠키를 즉시 삭제하는 것이 아니라 쿠키 값을 비우고 유효기간을 변경하여 효력을 상실합니다.진정한 쿠키 삭제는 브라우저가 정리합니다.
     
     
     
     
     
     

    좋은 웹페이지 즐겨찾기