这两天帮瞄瞄解决python操作cookie的问题,总结一下心得,python不同于php,并不能直接的设置cookie,Python的SimpleCookie只是生成一个cookie规范的字符串,但仅仅是一个字符串,你需要想办法把他放到HEAD[”cookie”]中,才能把这个cookie放到web中使用,幸运的是基本每一个框架都包装了这件事情,你可以查看各自doc的文档,当然你也可以写一个通用的模块,把他用于所有的框架。也许你要问,为什么要多这么一道手续,没有php方便,其实这样做是有好处的,那就是可以脱离web环境,去测试有cookie的代码。

接下来放一些代码,看看我们在命令行保存一个cookie

   1 c1=Cookie.SimpleCookie()
   2 c1["user"]="qingfeng"
   3 c1["user"]["max-age"]=3600
   4 c1["user"]["expires"]=3600
   5 os.environ["HTTP_COOKIE"] = str(c1)

karrigell保存一个Cookie

   1 SET_COOKIE["user"]="qingfeng4"
   2 SET_COOKIE["user"]["max-age"]=36000
   3 SET_COOKIE["user"]["expires"]=36000

这个SET_COOKIE其实就是一个SimpleCookie,并且带有一个sessionId

cherrypy保存一个Cookie

   1 c1=Cookie.SimpleCookie()
   2 c1["user"]="qingfeng4"
   3 c1["user"]["max-age"]=3600
   4 c1["user"]["expires"]=3600
   5 cherrypy.request.headerMap['cookie'] = str(c1)