search_s search_ext_s search_s python-ldap 库的方法没有 return 任何成功响应代码

search_s search_ext_s search_s methods of python-ldap library doesn't return any Success response code

我正在使用python-ldap的search_ext_s()方法在[=26=的基础上搜索结果,搜索完成后我得到msg_id,我像这样传入结果函数 ldap_object.result(msg_id) 像这样 returns 元组(100,属性值)这是正确的(我还尝试了 LDAP 对象的 result2、result3、result4 方法) ,但是我怎样才能获得 ldap 搜索请求的响应代码,如果给定 filter_criteria 没有结果,我也会得到空列表,而在异常情况下,我会得到这样的正确消息 ldap.SERVER_DOWN: {u'info': 'Transport endpoint is not connected', 'errno': 107, 'desc': u"Can't contact LDAP server"} 如果存在可以为成功的 LDAP 搜索操作提供结果代码的任何属性,有人可以帮助我吗?

谢谢, 拉迪卡

LDAP 服务器可能不会return任何结果,即使客户端发送的搜索操作没有任何错误。使用 python-ldap 你会得到一个空的结果列表。大多数情况下,这是由于访问控制隐藏了目录内容。一般来说,LDAP 服务器不会告诉您为什么它没有 return 结果。

(在某些特殊情况下会引发 ldap.INSUFFICIENT_ACCESS,但您应该预料到使用不同 LDAP 服务器时行为会有所不同。)

在 python-ldap 中,如果搜索操作没有引发异常,则 LDAP 结果代码为 ok(0)。因此,您的应用程序必须以某种特定于应用程序的方式处理空搜索结果,例如通过还引发由上层处理的自定义异常。