`
phyeas
  • 浏览: 164234 次
  • 性别: 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"……

分享到:
评论

相关推荐

    Python库 | gm-3.0.0.14-py3-none-win32.whl

    python库。 资源全名:gm-3.0.0.14-py3-none-win32.whl

    Polygon3-3.0.9.1-cp36-cp36m-linux-aarch64.zip

    综上所述,Polygon3-3.0.9.1-cp36-cp36m-linux_aarch64.zip是一个专为Python 3.6和Linux aarch64系统设计的图形处理库,其提供的强大功能和高效性能,使得开发者在处理三维几何问题时有了得力的工具。无论是进行科学...

    Polygon3-3.0.9.1-cp39-cp39-win-amd64.whl

    Polygon3-3.0.9.1-cp39-cp39-win_amd64.whl python模块名称:Polygon3 文件格式:whl 安装方式:切换到whl路径,执行pip install Polygon3-3.0.9.1-cp39-cp39-win_amd64.whl

    Polygon3-3.0.9.1-cp37-cp37m-win_amd64.zip

    7. **性能优化**:由于其底层实现通常用C++编写,因此在处理大量几何数据时,Polygon3通常能提供良好的性能。 "使用说明.txt"文件可能包含了关于如何利用Polygon3库的详细指导,包括安装后的初始化、对象创建、常用...

    tensorrt-8.2.3.0-cp38-none-win_amd64.zip

    tensorrt 8.2.3.0版本 python库安装 whl文件,安装只需要切换到对应whl目录然后执行pip install [whl文件名],注意cp表示python版本,比如cp38表示是python3.8的环境,amd64表示是windows x64系统

    Polygon3-3.0.9.1-cp39-cp39-win_amd64.zip

    在提供的文件中,“Polygon3-3.0.9.1-cp39-cp39-win_amd64.whl”是Polygon3模块的预编译版本,采用wheel格式。Wheel格式是Python的一种二进制分发包格式,旨在解决源码安装过程中的依赖问题和编译问题,使得安装过程...

    python 3.0 下载

    Python 3.0的安装文件`python-3.0.msi`是一个Windows安装程序,用户可以通过这个文件轻松地在Windows操作系统上安装Python 3.0。在安装过程中,用户可以选择安装路径、是否添加Python到系统路径、以及是否创建桌面...

    《机器学习实战》中决策树python2.7代码经过加工修改后在python3.0可以完美运行的代码

    5. **异常处理**:Python 2.7使用`except Exception, e`,而在Python 3.0中,应该写为`except Exception as e`。 6. **导入模块**:Python 3.0中,一些模块的导入方式发生了变化,例如,`from future import print_...

    Python库 | xquant_python-3.0.290-cp36-none-win_amd64.whl

    资源分类:Python库 所属语言:Python 资源全名:xquant_python-3.0.290-cp36-none-win_amd64.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    python3.0廖雪峰

    5. **异常处理**: Python3.0中,异常处理的语法发生了改变,`except Exception, e` 变为 `except Exception as e`。 6. **增加yield from**: 这个新的语法结构用于在生成器中嵌套其他生成器,简化了代码。 7. **...

    Python库 | tencentcloud-sdk-python-3.0.122.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:tencentcloud-sdk-python-3.0.122.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    Python库 | fondat_core-3.0b37-py3-none-any.whl

    《Python库:fondat_core-3.0b37-py3-none-any.whl的探索与应用》 在IT行业中,Python作为一种广泛使用的高级编程语言,拥有丰富的库支持,使得开发者能高效地进行各种任务的开发。今天我们将聚焦于一个特定的...

    Polygon3-3.0.9.1-cp38-cp38-win_amd64.zip

    在给定的信息中,我们可以看到具体的文件名为"Polygon3-3.0.9.1-cp38-cp38-win_amd64.whl",这表明它是针对Python 3.8版本(cp38)的,并且适用于64位Windows系统(win_amd64)。 安装Polygon3的方法是首先确保你...

    python官方3.0版本msi安装包

    本安装包“python-3.0.msi”是针对Windows操作系统设计的 MSI(Microsoft Installer)格式,方便用户在Windows环境下快速安装Python 3.0。 Python 3.0的主要变化和新特性包括: 1. **打印语句作为函数**:在Python...

    PythonQt3.0-win-x86-Qt5.5.1-Python2.7.11-debug-release

    2. **自动类型转换**: PythonQt能够自动处理Python和C++之间的类型转换,使得在Python中调用Qt类和方法更加方便。 3. **事件驱动编程**: 支持Qt的信号和槽机制,这是Qt事件驱动编程的核心。PythonQt让用户可以使用...

    Python库 | crdatamgt-3.0.27-py3-none-any.whl

    总结,"crdatamgt-3.0.27-py3-none-any.whl" 是一个针对Python 3.x的数据管理库,通过`pip`工具可以轻松安装到Python环境中。这个库可能包含各种数据处理功能,适用于数据密集型的项目,特别是后端开发场景。了解和...

    python3.0--安装包

    - 文件名 `python-3.0b1.msi` 表示这是一个针对 Windows 平台的 MSI 安装包,版本是 3.0 的 beta 1 版本。 - 使用 MSI 安装包,用户可以通过双击运行,按照安装向导进行安装,包括选择安装路径、是否设置环境变量...

    python3.0菜鸟教程.zip

    以上只是 Python 3.0 学习的一部分,实际教程中还可能包括正则表达式、网络编程、多线程、并发处理、数据库操作等内容。在 www.runoob.com 的 Python 3.0 菜鸟教程中,你将逐步学习并实践这些知识,构建坚实的编程...

Global site tag (gtag.js) - Google Analytics