Python ldap连接测试

时间:2014-01-31 10:05:11

标签: python testing active-directory connection ldap

我希望能够测试与主机和端口的连接是否有效。

我正在使用当前行:

ldapObject = ldap.open(host="host", port=389)

这似乎返回了一个实例。我需要确定它是否能找到主机?

有什么建议吗?

2 个答案:

答案 0 :(得分:4)

open已被弃用。 这是一个有效的例子。看看这是否有帮助。

def ldap_initialize(remote, port, user, password, use_ssl=False, timeout=None):
    prefix = 'ldap'
    if use_ssl is True:
        prefix = 'ldaps'
        # ask ldap to ignore certificate errors
        ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER)

    if timeout:
        ldap.set_option(ldap.OPT_NETWORK_TIMEOUT, timeout)

    ldap.set_option(ldap.OPT_REFERRALS, ldap.OPT_OFF)
    server = prefix + '://' + remote + ':' + '%s' % port
    conn = ldap.initialize(server)
    conn.simple_bind_s(user, password)
    return conn

答案 1 :(得分:1)

找到解决方案:

import ldap

try:
    ldapObject = ldap.open(host="host", port=389)
    ldapObject .simple_bind_s()
except ldap.SERVER_DOWN:
    print("Failed")