我正在尝试使用 LDAP 连接到服务器。我已经让脚本在没有使用特定端口号的测试服务器上工作。尝试连接到使用特定端口的开发系统时,我收到以下错误:
File "site-packages\ldap3\core\server.py", line 117, in__init__
ldap3.core.exceptions.LDAPInvalidPortError: port must be an integer
[7836] Failed to execute script ldap_query
过去我们使用 python-ldap,它在 ldap.initialize('LDAP://cd-dir...net/(Port)') 命令中指定的端口没有问题。生成错误的代码如下所示。
def ldap_connect(address, dn, password)
server = Server(address)
try:
conn = Connection(server, dn, password, auto_bind = True)
print('Authentication Successful')
print(conn.extend.standard.who_am_i())
except: LDAPBindError as err:
print(LDAPBindError)
ldap_connect('LDAP://cd-dir-cd-test....net:port/dc=cd...dc=com', 'user', 'password')
为了解决这个问题,我尝试从地址中取出端口号,而是按以下方式放置:
server = Server(address, port = XXX)
这解决了“端口必须是整数”错误。然而,这并没有解决问题。我收到的新错误是:
File "site-packages\ldap3\core\connection.py", line 325, in__init__
File "site-packages\ldap3\core\connection.py", line 340, in do_auto_bind
File "site-packages\ldap3\strategy\sync.py", line 56, in open
File "site-packages\ldap3\strategy\base.py", line 151, in open
ldap3.core.exceptions.LDAPSocketOpenError: invalid server address
[5976] Failed to execute script ldap_query
我该如何解决这个问题?还有另一种设置我不知道的端口的方法吗?
最好的祝愿,