让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操作字典类型的常用方法(推荐)
May 16 Python
python并发编程之线程实例解析
Dec 27 Python
python调用tcpdump抓包过滤的方法
Jul 18 Python
Python提取支付宝和微信支付二维码的示例代码
Feb 15 Python
python实现按行分割文件
Jul 22 Python
Django--权限Permissions的例子
Aug 28 Python
使用Django搭建一个基金模拟交易系统教程
Nov 18 Python
python模拟实现斗地主发牌
Jan 07 Python
django queryset 去重 .distinct()说明
May 19 Python
python实现图片素描效果
Sep 26 Python
pycharm中leetcode插件使用图文详解
Dec 07 Python
pycharm debug 断点调试心得分享
Apr 16 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来处理多个提交任务
2008/05/08 PHP
thinkPHP框架对接支付宝即时到账接口回调操作示例
2016/11/14 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
Laravel5.7 Eloquent ORM快速入门详解
2019/04/12 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
js格式化货币数据实现代码
2013/09/04 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
jQuery 中DOM 操作详解
2015/01/13 Javascript
纯javascript模仿微信打飞机小游戏
2015/08/20 Javascript
获取阴历(农历)和当前日期的js代码
2016/02/15 Javascript
PassWord输入框代码分享
2016/06/07 Javascript
jQuery实现的购物车物品数量加减功能代码
2016/11/16 Javascript
JS实现的相册图片左右滚动完整实例
2016/11/23 Javascript
jQuery实现分页功能(含ajax请求、后台数据、附完整demo)
2017/04/03 jQuery
nodejs multer实现文件上传与下载
2017/05/10 NodeJs
web.js.字符串与正则表达式操作
2017/05/13 Javascript
浅谈vue单一组件下动态修改数据时的全部重渲染
2018/03/01 Javascript
详解vue2.0 资源文件assets和static的区别
2018/11/27 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
Python中的作用域规则详解
2015/01/30 Python
Python判断文件或文件夹是否存在的三种方法
2017/07/27 Python
pyqt5自定义信号实例解析
2018/01/31 Python
Python(Django)项目与Apache的管理交互的方法
2018/05/16 Python
不到40行代码用Python实现一个简单的推荐系统
2019/05/10 Python
python统计文章中单词出现次数实例
2020/02/27 Python
django 数据库 get_or_create函数返回值是tuple的问题
2020/05/15 Python
深入理解Python 多线程
2020/06/16 Python
英国手机零售商:Carphone Warehouse
2018/06/06 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
会计学习心得体会
2014/09/09 职场文书
学生顶撞老师的检讨书
2014/09/17 职场文书
加强作风建设心得体会
2014/10/22 职场文书
表扬稿范文
2015/01/17 职场文书
老人院义工活动感想
2015/08/07 职场文书
python面向对象版学生信息管理系统
2021/06/24 Python
Appium中scroll和drag_and_drop根据元素位置滑动
2022/02/15 Python