def urldecode(params_url): if not params_url: # 如果没有东西的话,就返回{} return {} params_url = escape.param_decode(params_url) _d = {} # 存的是请求参数的字典形式,值是参数值列表 for _name, _value in map(lambda x: x.split('=', 1), filter(lambda k_v: '=' in k_v, params_url.split('&'))): # filter 是为了把不带有=号的参数去掉 # 对用户提交的url参数和body进行解码成unicode _d.setdefault(_name, []).append(urlunquote(_value)) return _d
def urlunquote(param): if param == None: return param param = unquote_plus(escape.native_str(param)) return escape.param_decode(param)