Python ldap3 LDAPSocketOpenError unable to send message, socket is not open
10,550
You must bind the connection before adding the user. Try c.bind()
before the add statement.
Author by
Franky Kraisorn
Updated on June 14, 2022Comments
-
Franky Kraisorn almost 2 years
I am coding in Python, ldap3 trying to create a user in OpenLDAP on CentOS. My local development machine is running Windows 8 64bit. Below is my code.
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()
The Server and Connection class is working ok. i guess because if i run only that 2 statements, it didn't generate an error below.
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