代码:
setcookie.py
- #!/usr/bin/env python
- import Cookie
- import datetime
- import random
- expiration = datetime.datetime.now() + datetime.timedelta(days=30)
- cookie = Cookie.SimpleCookie()
- cookie["session"] = random.randint(0,1000000000)
- cookie["session"]["domain"] = "localhost"
- cookie["session"]["path"] = "/"
- cookie["session"]["expires"] = \
- expiration.strftime("%a, %d-%b-%Y %H:%M:%S PST")
- print "Content-type: text/plain"
- print cookie.output()
- print "Cookie set with: " + cookie.output()
getcookie.py
- #!/usr/bin/env python
- import Cookie
- import os
- print "Content-type: text/plain\n"
- try:
- cookie = Cookie.SimpleCookie(os.environ["HTTP_COOKIE"])
- print "session = " + cookie["session"].value
- except (Cookie.CookieError, KeyError):
- print "session cookie not set!"
如果你在执行cookie = Cookie.SimpleCookie(os.environ["HTTP_COOKIE"]) 这一句报keyerro的错误时,那么很有可能在你的环境变量中不存在HTTP_COOKIE 这个变量,这个时候,你就需要再你设置cookie之后,添加一句os.environ['HTTP_COOKIE']= str(cookie)。意思是把你的cookie以字符串的形式保存到环境变量中,当然,你不一定要写成os.environ['HTTP_COOKIE'] ,也可以写成os.environ['myCOOKIE']之类的,读取的时候就以这个key去读取cookie就ok了。