我正在运行一个python脚本来连接并绑定到LDAP,但在搜索LDAP时会抛出此错误。
使用此功能:search_s()
但错误:
{'info': '00002024: LdapErr: DSID-0C060595, comment: No other operations may be performed on the connection while a bind is outstanding., data 0, v1772', 'desc': 'Server is busy'}
请帮忙。我该怎么做才能解决这个问题?
先谢谢。
答案 0 :(得分:1)
好的,您将绑定发送到LDAP,然后发送搜索。问题是你在服务器处理第一个请求之前发送了第二个请求,然后它变得烦恼并使你陷入困境,因此我很忙碌了#34;响应。
解决方案是告诉Python ldap客户端在继续之前等待结果,因此:
l = ldap.initialize('ldap://fnord.com')
l.bind('thisismyname', 'andthisismyquest')
l.search_s(scope, ldap.SCOPE_SUBTREE, query, attributes)
成为这个:
l = ldap.initialize('ldap://fnord.com')
l.bind('thisismyname', 'andthisismyquest')
l.result() # THIS IS THE LINE THAT MAKES IT WORK
l.search_s(scope, ldap.SCOPE_SUBTREE, query, attributes)
当我对我的脚本进行此更改时,它每次都开始可靠地工作。
更新:
我找到了正确的方法:
l = ldap.initialize('ldap://fnord.com')
l.bind_s('thisismyname', 'andthisismyquest') # S IS FOR SYNCHRONOUS, IS GOOD ENOUGH FOR ME
l.search_s(scope, ldap.SCOPE_SUBTREE, query, attributes)