Python-LDAP simple_bind_s超时

kur*_*sat 6 python timeout python-ldap

有没有办法在python-LDAP中手动设置"simple_bind_s"的超时?我测试了ldapObject.timeout = 10它对我不起作用.有任何想法吗?

提前致谢..

rob*_*jpg 10

设置ldap.OPT_NETWORK_TIMEOUTldap对象的选项.

import ldap

l = ldap.initialize('ldap://servername:389')
l.set_option(ldap.OPT_NETWORK_TIMEOUT, 10.0)
l.simple_bind_s('username', 'password')
Run Code Online (Sandbox Code Playgroud)

如果达到指定的超时,这将引发ldap.SERVER_DOWN异常.


bma*_*pin 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')
Run Code Online (Sandbox Code Playgroud)

  • 我可能是错的,但据我所知,OPT_NETWORK_TIMEOUT和OPT_TIMEOUT之间的区别在于“网络”选项用于初始连接:10秒内无法连接,引发异常。OPT_TIMEOUT 选项似乎用于在 LDAP 服务器上执行的操作:尝试创建新记录并且花费的时间超过 10 秒,引发异常。 (2认同)