`
phyeas
  • 浏览: 166633 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

在Python3.0中处理web请求5-处理cookie

阅读更多

在处理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"……

分享到:
评论

相关推荐

    Flask-2.0.2-py3-none-any.zip

    Flask的设计哲学是“Batteries included, but swappable”,意味着Flask提供了许多实用的内置功能,如RESTful请求分发、请求处理、安全的Cookie会话等,同时也支持灵活地添加或替换组件。 版本2.0.2是Flask框架的一...

    【ASP.NET编程知识】3分钟快速学会在ASP.NET Core MVC中如何使用Cookie.docx

    在ASP.NET Core MVC中,使用Cookie是常见的处理用户状态的方式,尤其在构建Web应用程序时。本文将详细讲解如何在.NET Core环境下快速上手Cookie的使用。 首先,理解Cookie的基本概念至关重要。Cookie是一种存储在...

    flask-3.0.0.tar.zip

    Flask与Django是Python社区中最流行的两个Web框架,但它们的定位有所不同。Django是一个全栈框架,提供了一套完整的解决方案,包括对象关系映射(ORM)、表单处理等。而Flask则更加轻量,更多地依赖于其他库和扩展来...

    FTuan运维笔试问卷1-1

    每当用户发起请求时,服务器通过读取Cookie中的Session ID来识别用户。 **3. TCP三次握手** - **最少发出的SYN包数量**:1个。 - **最少发出的ACK包数量**:1个。 - **连接建立过程**: 1. 客户端向服务器发送SYN...

    uof资料统计学习笔记

    在IT行业中,尤其是在Web开发领域,理解和掌握"UOF资料统计学习笔记"中的知识点是至关重要的。UOF可能指的是某个特定的技术或者框架,但由于信息有限,这里我们将基于Web开发的相关内容进行深入探讨。 首先,我们要...

    django测试1文件

    在IT行业中,Django是一个非常流行的Python web框架,它提供了高效、可扩展的解决方案来构建Web应用程序。"django测试1文件"可能是一个关于在Django项目中进行单元测试和集成测试的教学材料或示例代码。下面,我们将...

    国科大移动互联网考试资料(2023+2020+2018真题+答案)

    Web 1.0 是 Web 的可读取阶段,Web 2.0 是 Web 的可交互阶段,Web 3.0 是 Web 的可执行阶段。未来移动互联网的基本架构是 COWMALS(7)。 移动网络的类型包括蜂窝网、无线局域网和个人局域网。蜂窝移动通信网络将...

    2021-2022计算机二级等级考试试题及答案No.15399.docx

    12. ASP.NET的六个内置对象包括Response(响应)、Request(请求)、Server(服务器)、Application(应用程序)、Session(会话)和Cookie,用于处理HTTP请求和响应。 13. Python代码`ss = list(set("jzzszyj"))`将...

    Django框架首页和登录页分离操作示例

    我们将在`views.py`文件中定义`login`函数,该函数负责处理登录请求,并根据登录状态进行不同的响应。 ```python from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import ...

Global site tag (gtag.js) - Google Analytics