我下面有这段代码,它是我一直在研究的 python 脚本的一部分(将其一次拼凑在一起作为学习曲线)。该位绑定(bind)到要查询的 ldap 目录,因此脚本的其余部分可以进行查询。 成功后,它将在 block 中打印以下消息。当不成功时,它会抛出一个错误 - 或者至少我想控制错误。
如果我没有域绑定(bind)/VPN,它将抛出此消息:
{'desc': "Can't contact LDAP server"}
如果凭据不正确:
Invalid credentials
我的脚本中没有为错误消息定义任何地方,我如何找到它在哪里获取要打印该消息的内容,并可能创建或自定义它? (我使用 PyCharm 的值(value))
try:
l = ldap.open(server)
l.simple_bind_s(user, pwd)
#if connection is successful print:
print "successfully bound to %s.\n" %server
l.protocol_version = ldap.VERSION3
except ldap.LDAPError, e:
print e
谢谢
最佳答案
您可以执行类似的操作来为特定异常提供特定消息。
try:
foo = 'hi'
bar = 'hello'
#do stuff
except ValueError:
raise ValueError("invalid credientials: {},{}".format(foo, bar))
所以在你的例子中它可能会变成
except ldap.LDAPError:
raise ldap.LDAPError("invalid credientials: {},{}".format(user, pwd))
或者如果您只是想打印它
except ldap.LDAPError:
print("invalid credientials: {},{}".format(user, pwd))
关于python - 使用 ldap 在 python 中处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43511453/