Python-LDAP simple_bind_s 超时

8 投票
2 回答
12650 浏览
提问于 2025-04-16 21:25

有没有办法手动为 Python-LDAP 中的 "simple_bind_s" 设置超时时间?我试过把 ldapObject.timeout 设置为 10,但没有效果。有什么建议吗?

提前谢谢你们..

2 个回答

6

出于某种原因,ldap.OPT_NETWORK_TIMEOUT 似乎从来没有超时,所以我改用了 ldap.OPT_TIMEOUT(这个会引发 ldap.TIMEOUT):

import ldap

l = ldap.initialize('ldaps://ldap.example.com')
l.set_option(ldap.OPT_TIMEOUT, 10)
l.simple_bind_s('username', 'password')
16

为ldap对象设置一个选项ldap.OPT_NETWORK_TIMEOUT

import ldap

l = ldap.initialize('ldap://servername:389')
l.set_option(ldap.OPT_NETWORK_TIMEOUT, 10.0)
l.simple_bind_s('username', 'password')

如果达到设定的超时时间,就会出现一个叫做ldap.SERVER_DOWN的错误。

撰写回答