【发布时间】:2017-04-23 13:04:45
【问题描述】:
我想隐藏 URL 中的密码以进行记录。我希望通过解析、用虚拟密码替换密码和反解析来使用urlparse,但这给了我:
>>> from urllib.parse import urlparse
>>> parts = urlparse('https://user:pass@66.66.66.66/aaa/bbb')
>>> parts.password = 'xxx'
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: can't set attribute
所以替代方案似乎是this,这似乎有点矫枉过正。
有没有更简单的方法来替换密码,使用标准库?
【问题讨论】:
-
这里的
parts是什么? -
@AKS:对不起,我认为这很清楚。添加了更多上下文。
-
@janbrohl:这正是链接脚本正在做的事情,这对我来说似乎有点矫枉过正,因为 urlparse 不允许设置单独的组件。
-
我认为最好的方法之一是编写一个记录器处理程序,它会在创建日志时混淆密码
-
对于更简单的解决方案,您不能通过获取类似
:pass@的任何内容并替换它来直接替换字符串吗?
标签: python logging obfuscation urlparse