Python ldap3 LDAPSocketOpenError无法发送消息,套接字未打开

我正在编写Python,ldap3试图在CentOS上的OpenLDAP中创build一个用户。 我的本地开发机器运行Windows 8 64位。 以下是我的代码。

from ldap3 import Server, Connection, ALL # define the server s = Server('ldap://ldap.abcd.com:389', get_info=ALL) # define the connection c = Connection(s, user='cn=Manager,dc=mydomain,dc=com', password='Super1') # perform the Add operation c.add('uid=user3,ou=People,dc=abcd,dc=com',['person','organizationalPerson','inetOrgPerson', 'posixGroup', 'top','shadowAccount'], {'givenName': 'user3firstname','sn': 'user3lastname', 'uidNumber' : 520,'gidNumber' : 521,'uid': 'user3','cn': 'user3user3lastname'}) # close the connection c.unbind() 

服务器和连接类正常工作。 我猜是因为如果我只运行这2个语句,它不会在下面生成一个错误。

 LDAPSocketOpenError at /adminservice/users/ unable to send message, socket is not open Request Method: GET Request URL: http://127.0.0.1:8000/adminservice/users/ Django Version: 1.8.4 Exception Type: LDAPSocketOpenError Exception Value: unable to send message, socket is not open Exception Location: C:\Python35\lib\site-packages\ldap3\strategy\base.py in send, line 299 Python Executable: C:\Python35\python.exe Python Version: 3.5.1 Python Path: ['D:\\sourcecode\\idp', 'D:\\sourcecode\\utils-drf-public-api', 'C:\\Python26', 'C:\\Python35\\python35.zip', 'C:\\Python35\\DLLs', 'C:\\Python35\\lib', 'C:\\Python35', 'C:\\Python35\\lib\\site-packages'] Server time: Fri, 13 May 2016 17:02:08 +0700 

在这里输入图像说明

添加用户之前,您必须绑定连接。 在add语句之前尝试c.bind()。