Python mod_wsgiアプリケーションでの HTTP クッキー(cookies)の入力と出力
Python mod_wsgiアプリケーションでの HTTP クッキー(cookies)の入力と出力
(1) クッキーの出力
30日間有効な「session」という名前の1〜1億までのランダムな値を持ったクッキーを出力する例
def application(environ, start_response): import Cookie import datetime import random expiration = datetime.datetime.utcnow() + datetime.timedelta(days=30) cookie = Cookie.SimpleCookie() cookie["session"] = random.randint(1, 100000000) cookie["session"]["domain"] = "クッキーの有効なドメイン" cookie["session"]["path"] = "クッキーを有効にするパス" cookie["session"]["expires"] = expiration.strftime("%a, %d-%b-%Y %H:%M:%S GMT") status = '200 OK' response_headers = [('Content-type', 'text/html; charset=utf-8'), ('Set-Cookie', cookie["session"].OutputString())]
(2) クッキーの入力
def application(environ, start_response): import Cookie cookie = Cookie.SimpleCookie() cookie.load(environ['HTTP_COOKIE']) if cookie.has_key("session"): session = cookie["session"].value else: "session"という名前のクッキーが存在しない時の処理