【问题标题】:Python-LDAP simple_bind_s timeoutPython-LDAP simple_bind_s 超时
【发布时间】:2011-10-04 12:39:09
【问题描述】:

有没有办法在 python-LDAP 中手动为“simple_bind_s”设置超时?我已经测试了 ldapObject.timeout = 10 它对我不起作用。有什么想法吗?

提前谢谢..

【问题讨论】:

    标签: python timeout python-ldap


    【解决方案1】:

    由于某种原因,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')
    

    【讨论】:

    • 我可能记错了,但据我所知,OPT_NETWORK_TIMEOUT 和 OPT_TIMEOUT 的区别在于“网络”选项是针对初始连接的:10 秒内无法连接,引发异常。 OPT_TIMEOUT 选项似乎适用于在 LDAP 服务器上执行的操作:尝试创建新记录并且时间超过 10 秒,引发异常。
    【解决方案2】:

    为 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 异常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-07-16
      • 2019-11-13
      • 1970-01-01
      • 2016-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-24
      相关资源
      最近更新 更多