如何支持解密加密字符串以添加到我的请求标头中,但仍然记录显示加密字符串的请求标头?
目前发生的事情是:
dirname = unicode(os.path.join(path, folder), 'mbcs')
file_list = os.listdir(dirname)
for filename in file_list:
stats = os.stat(os.path.join(dirname, filename))
# ...
[控制台输出] {'授权':'NLAuth nlauth_account = 1111111,nlauth_email =我的@ EMAILADDRESS,nlauth_signature =输入mypassword!,nlauth_role = 3' 'Content-type':'application / json','Accept':'application / json'}
我想要的是:
[控制台输出] {'授权':'NLAuth nlauth_account = 1111111,nlauth_email =我的@ EMAILADDRESS,nlauth_signature = b'bXlwYXNzd29yZCE =”,nlauth_role = 3' 'Content-type':'application / json','Accept':'application / json'}
Web服务需要Authorization标头中的字符串值,传入任何加密的字符串都会导致身份验证失败 - 因此需要在请求时解码,但这并不意味着我希望它在我的日志文件或控制台中解码。
答案 0 :(得分:0)
从req.headers创建一个临时对象,然后将其传递给logging.debug()。
_ = {}
for k,v in req.headers.items():
v = k == 'Authorization' and re.sub('nlauth_signature=([^,]+)',\
repr(original_password),\
v) or v
_[k]=v
logging.debug(_)
如果只是简单地输入“< masked>”就更好了而不是re.sub()调用中的original_password