在处理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....
name , phyeas
localhost - - [06/Apr/2009 01:31:42] "GET / HTTP/1.1" 200 11
需要注意的是必须设置cookie的expires,而且在output的时候需要将header设置为"",否则将默认输出'Set-Cookie'
还有就是env中获取"HTTP_COOKIE"的时候不一定有这个key
要导入的包有:
from http.cookies import SimpleCookie
import urllib
今天就唠到这……睡觉去
PS:如果没用wsgi,对应的header名称应是"cookie"……
分享到:
- 2009-04-06 01:39
- 浏览 1823
- 评论(0)
- 论坛回复 / 浏览 (0 / 2548)
- 查看更多
相关推荐
Flask的设计哲学是“Batteries included, but swappable”,意味着Flask提供了许多实用的内置功能,如RESTful请求分发、请求处理、安全的Cookie会话等,同时也支持灵活地添加或替换组件。 版本2.0.2是Flask框架的一...
在ASP.NET Core MVC中,使用Cookie是常见的处理用户状态的方式,尤其在构建Web应用程序时。本文将详细讲解如何在.NET Core环境下快速上手Cookie的使用。 首先,理解Cookie的基本概念至关重要。Cookie是一种存储在...
Flask与Django是Python社区中最流行的两个Web框架,但它们的定位有所不同。Django是一个全栈框架,提供了一套完整的解决方案,包括对象关系映射(ORM)、表单处理等。而Flask则更加轻量,更多地依赖于其他库和扩展来...
每当用户发起请求时,服务器通过读取Cookie中的Session ID来识别用户。 **3. TCP三次握手** - **最少发出的SYN包数量**:1个。 - **最少发出的ACK包数量**:1个。 - **连接建立过程**: 1. 客户端向服务器发送SYN...
在IT行业中,尤其是在Web开发领域,理解和掌握"UOF资料统计学习笔记"中的知识点是至关重要的。UOF可能指的是某个特定的技术或者框架,但由于信息有限,这里我们将基于Web开发的相关内容进行深入探讨。 首先,我们要...
在IT行业中,Django是一个非常流行的Python web框架,它提供了高效、可扩展的解决方案来构建Web应用程序。"django测试1文件"可能是一个关于在Django项目中进行单元测试和集成测试的教学材料或示例代码。下面,我们将...
Web 1.0 是 Web 的可读取阶段,Web 2.0 是 Web 的可交互阶段,Web 3.0 是 Web 的可执行阶段。未来移动互联网的基本架构是 COWMALS(7)。 移动网络的类型包括蜂窝网、无线局域网和个人局域网。蜂窝移动通信网络将...
12. ASP.NET的六个内置对象包括Response(响应)、Request(请求)、Server(服务器)、Application(应用程序)、Session(会话)和Cookie,用于处理HTTP请求和响应。 13. Python代码`ss = list(set("jzzszyj"))`将...
我们将在`views.py`文件中定义`login`函数,该函数负责处理登录请求,并根据登录状态进行不同的响应。 ```python from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import ...