home changes contents help options

232:クッキーを処理する

CGI にてクッキーを扱うには Cookie モジュールを用います。クッキーを辞書風オブジェクトとして扱うことができます。

#!/usr/local/bin/python
# coding: utf-8

u"""Cookie でアクセス回数をカウントする
"""

import sys
import os
import cgi
import Cookie

cookie = Cookie.SimpleCookie()
# Cookie の内容を得る
cookie.load(os.environ.get('HTTP_COOKIE', ''))
try:
    count = int(cookie['count'].value)
except (ValueError, IndexError), e:
    count = 0
count += 1
cookie['count'] = str(count)

html = u"""
<html>
 <head>
  <meta http-equive="content-type" contetnt="text/html;charset=utf-8" />
 </head>
 <body>
  %(count)s
 </body>
</html>
"""

contents = {}
contents['count'] = u'<p>count: %s</p>' % cookie['count'].value

print u"Content-type: text/html;charset=utf-8".encode('utf-8')
print cookie.output(), # Cookie をセットする
print
print (html % contents).encode('utf-8')