让python的Cookie.py模块支持冒号做key的方法


Posted in Python onDecember 28, 2010

为了做好兼容性,只能选择兼容:冒号。

很简单,修改一下Cookie.Morsel

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
"""MorselHook, fix Cookie.CookieError: Illegal key value: ys-tab:entrance:e 
""" import Cookie 
import string 
_Morsel = Cookie.Morsel 
class MorselHook(_Morsel): 
""" 
>>> import inspect 
>>> (inspect.getargspec(MorselHook.set)[3])[0] 
"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!#$%&'*+-.^_`|~:" 
>>> cookie = Cookie.SimpleCookie() 
>>> cookie.load("ys-tab:entrance:e=abc; webpy_session_id=75eb60dcc83e2d902146af0bb7f47afe61fbd2b2") 
>>> print cookie 
Set-Cookie: webpy_session_id=75eb60dcc83e2d902146af0bb7f47afe61fbd2b2; 
Set-Cookie: ys-tab:entrance:e=abc; 
""" 
def set(self, key, val, coded_val, LegalChars=Cookie._LegalChars+':', idmap=string._idmap, translate=string.translate): 
return super(MorselHook, self).set(key, val, coded_val, LegalChars, idmap, translate) 
Cookie.Morsel = MorselHook 
# 在你需要使用到Cookie的地方先让上面的代码执行一遍 

if __name__ == '__main__': 
import doctest 
doctest.testmod()
Python 相关文章推荐
浅谈python函数之作用域(python3.5)
Oct 27 Python
Python测试人员需要掌握的知识
Feb 08 Python
有关Python的22个编程技巧
Aug 29 Python
解决python xlrd无法读取excel文件的问题
Dec 25 Python
Python 中PyQt5 点击主窗口弹出另一个窗口的实现方法
Jul 04 Python
解决Django中调用keras的模型出现的问题
Aug 07 Python
小结Python的反射机制
Sep 28 Python
使用PyCharm官方中文语言包汉化PyCharm
Nov 18 Python
Selenium获取登录Cookies并添加Cookies自动登录的方法
Dec 04 Python
Jupyter Notebook添加代码自动补全功能的实现
Jan 07 Python
Python中rapidjson参数校验实现
Jul 25 Python
关于python中模块和重载的问题
Nov 02 Python
python封装对象实现时间效果
Apr 23 #Python
python下函数参数的传递(参数带星号的说明)
Sep 19 #Python
Python 元类使用说明
Dec 18 #Python
Python3 入门教程 简单但比较不错
Nov 29 #Python
Python2.5/2.6实用教程 入门基础篇
Nov 29 #Python
python 快速排序代码
Nov 23 #Python
python 文件和路径操作函数小结
Nov 23 #Python
You might like
PHP实现自动登入google play下载app report的方法
2014/09/23 PHP
php实现在服务器上创建目录的方法
2015/03/16 PHP
PHP文件读取功能的应用实例
2015/05/08 PHP
PHP文件上传小程序 适合初学者学习!
2019/05/23 PHP
javascript SocialHistory 检查访问者是否访问过某站点
2008/08/02 Javascript
JavaScript 拾碎[三] 使用className属性
2010/10/16 Javascript
跟我学Nodejs(二)--- Node.js事件模块
2014/05/21 NodeJs
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
jQuery插件datepicker 日期连续选择
2015/06/12 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
jQuery实现拖动剪裁图片作为头像
2016/12/28 Javascript
jquery实现input框获取焦点的简单实例
2017/01/26 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
小程序使用wxs解决wxml保留2位小数问题
2019/12/13 Javascript
公众号SVG动画交互实战代码
2020/05/31 Javascript
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
Python实现注册登录系统
2017/08/08 Python
TensorFlow 实战之实现卷积神经网络的实例讲解
2018/02/26 Python
详解Python发送email的三种方式
2018/10/18 Python
Python列表对象实现原理详解
2019/07/01 Python
python中自带的三个装饰器的实现
2019/11/08 Python
python中读入二维csv格式的表格方法详解(以元组/列表形式表示)
2020/04/24 Python
在python里使用await关键字来等另外一个协程的实例
2020/05/04 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
python logging.info在终端没输出的解决
2020/05/12 Python
django 数据库返回queryset实现封装为字典
2020/05/19 Python
Python基于mediainfo批量重命名图片文件
2020/12/29 Python
澳大利亚电子产品购物网站:Dick Smith
2017/02/02 全球购物
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
工程师岗位职责
2013/11/08 职场文书
学习经验演讲稿
2014/05/10 职场文书
颐和园导游词400字
2015/01/30 职场文书
谢师宴学生致辞
2015/07/27 职场文书
javascript函数式编程基础
2021/09/15 Javascript
python 闭包函数详细介绍
2022/04/19 Python