cookie有2个必备的属性

作者: mg4355  发布:2020-01-03

让python cookie帮助特殊字符

让python cookie扶助特殊字符

先对cookie做下轻松的牵线

cookie的作用:

tcp公约能够通过二遍握手组建连接,客商端发送的一再要求能够透过句柄维护同三个老是,不过http合同是生机勃勃种无状态的商业事务,对于浏览器发送的屡次央求,服务器是不能区分是还是不是同八个浏览器发送的。这样就须要采纳额外的数额爱惜会话。

服务端收到浏览器的哀求,在响应的时候可以种cookie,那样顾客端与服务端能够将cookie来回传递,进而爱惜八个session状态

cookie有2个必要的质量,那正是name,value,其它还应该有多少个可选的性质,分别调节cookie的生存周期(expires),可以看见性及安全性(secure卡塔尔。

 

废话半天,步向正题:

安份守己cookie的正式,一些特殊字符是不容许写入cookie的,可是有的时候大家的开辟职员很使人陶醉,比如说,近来作者就遇到四个,前端为了切实客商名讯息,将邮箱直接写入cookie,后台在取其余cookie的时候,就能够抛出至极。

为此查看了python的源码,重写了Cookie.Morsel模块。

下面是代码完成,在运用的时候由import cookie.py 代替import Cookie,上面是cookie.py代码:

 

#!/usr/bin/python
#-*- coding: utf-8-*-
#TODO:该模块重构Cookie.Morsel使得get_cookie支持@,:等特殊字符

import Cookie
import string

_Morsel =Cookie.Morsel

legal_char =string.ascii_letters + string.digits +!#$%&'*+-.^_`|[email protected]

class MorselHook(_Morsel):
    def set(self, key, val, coded_val,LegalChars=Cookie._LegalChars+legal_char, idmap=string._idmap,translate=string.translate):
        return super(MorselHook, self).set(key,val, coded_val, LegalChars, idmap, translate)

Cookie.Morsel =MorselHook

 

cookie协助特殊字符 让python cookie扶助特殊字符 先对cookie做下简单的介绍 cookie的成效: tcp协议得以因而三次握手创设连接,客商端发...

本文由mg4355娱乐手机版发布于mg4355,转载请注明出处:cookie有2个必备的属性

关键词: