0
import ldap

try:
    l = ldap.initialize("ldap://ldap.xxxxx.com:389")
    username=raw_input("Enter the username : ")
    password = raw_input("Enter the password :")
    if(username == "" or password==""):
        print "Login Error : Username or password can't be blank"    
    else:
        l.simple_bind(username,password)
        print "Contact..."

except ldap.LDAPError, e:
    print e

baseDn = "ou=active, ou=employees, ou=people, o=xxxxx.com";
searchScope = ldap.SCOPE_ONELEVEL
#retrieve all attributes
retrieveAttributes = None
search_query = raw_input("Enter the query :")
searchFilter = "cn="+search_query

try :
    ldap_result_id = l.search(baseDn, searchScope, searchFilter,   retrieveAttributes)
    result_set = []
    while 1:
        result_type, result_data = l.result(ldap_result_id, 0)
        if(result_data == []):
            break
        else:
            if result_type == ldap.RES_SEARCH_ENTRY:
                result_set.append(result_data)
            #print result_set

    print len(result_set)   

except ldap.LDAPError, e:
    print e

#print result_set[0]

以上代码用于python-ldap访问 ldap 服务。result_set类型显示为列表,但使用该功能时的项目数结果len()为零。我需要对检索到的字符串执行操作。

4

0 回答 0