2011-07-13 11 views
6

क्या पाइथन-एलडीएपी में मैन्युअल रूप से "simple_bind_s" के लिए टाइमआउट सेट करने का कोई तरीका है? मैंने ldapObject.timeout = 10 का परीक्षण किया है यह मेरे लिए काम नहीं करता है। कोई विचार?पायथन-एलडीएपी simple_bind_s टाइमआउट

अग्रिम धन्यवाद ..

उत्तर

10

ldap वस्तु के लिए विकल्प ldap.OPT_NETWORK_TIMEOUT सेट करें।

import ldap 

l = ldap.initialize('ldap://servername:389') 
l.set_option(ldap.OPT_NETWORK_TIMEOUT, 10.0) 
l.simple_bind_s('username', 'password') 

यह एक एलडीएपी बढ़ाएगा। निर्दिष्ट समय सीमा समाप्त होने पर SERVER_DOWN अपवाद।

3

किसी कारण ldap.OPT_NETWORK_TIMEOUT के लिए मेरे लिए टाइम आउट करने लगता है कभी नहीं, इसलिए मैं ldap.OPT_TIMEOUT बजाय प्रयोग किया (जो ldap.TIMEOUT बढ़ा देंगे):

import ldap 

l = ldap.initialize('ldaps://ldap.example.com') 
l.set_option(ldap.OPT_TIMEOUT, 10) 
l.simple_bind_s('username', 'password') 
+1

मैं गलत हो सकता है, लेकिन मैं क्या बता सकते हैं, OPT_NETWORK_TIMEOUT के बीच अंतर से और OPT_TIMEOUT यह है कि "नेटवर्क" विकल्प प्रारंभिक कनेक्शन के लिए है: 10 सेकंड के भीतर कनेक्ट करने में विफल, अपवाद उठाएं। OPT_TIMEOUT विकल्प LDAP सर्वर पर किए गए कार्यों के लिए प्रतीत होता है: नया रिकॉर्ड बनाने का प्रयास करें और इसमें 10 सेकंड से अधिक समय लगता है, अपवाद उठाएं। – CptSupermrkt

संबंधित मुद्दे