浏览 2534 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-04-06
最后修改:2009-04-06
在处理web请求时,处理Cookie是非常重要的一个环节,要处理用户session首先就要处理用户提交的cookie。在python(wsgi)中并没有直接获取cookie值的方法,以下是我今天参照类库帮助写的一个获取用户发送来的cookie的demo: 首先先从服务器发送cookie数据到客户端: def application(env,start_response): cookie = SimpleCookie() cookie["name"] = urllib.parse.quote("phyeas") cookie["name"]["expires"]=1000000 cookie["name"]["path"]="/" start_response("200 OK",[("Content-Type","text/html;charset=UTF-8"),('Set-Cookie', cookie.output(header=""))]) return ["Hello World"]
以下是读取这些Cookie数据: def application(env,start_response): cookie = SimpleCookie(env.get("HTTP_COOKIE","")) name=cookie.get("name","") print(name.key+" , "+name.value) start_response("200 OK",[("Content-Type","text/html;charset=UTF-8")]) return ["Hello World"] 得到输出: Http Service on port 8080.... 需要注意的是必须设置cookie的expires,而且在output的时候需要将header设置为"",否则将默认输出'Set-Cookie' 还有就是env中获取"HTTP_COOKIE"的时候不一定有这个key 要导入的包有: from http.cookies import SimpleCookie import urllib 今天就唠到这……睡觉去
PS:如果没用wsgi,对应的header名称应是"cookie"…… 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |