这篇文章主要介绍了让python的Cookie py模块支持冒号做key的方法,在开发过程应该对大家很有帮助,小编结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
为了做好兼容性,只能选择兼容:冒号。 很简单,修改一下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的Cookie.py模块支持冒号做key的方法到此结束。语文,心灵的回响,惹人走向崇高的殿堂。小编再次感谢大家对我们的支持!