2011-07-13 36 views
6

python-LDAPの "simple_bind_s"のタイムアウトを手動で設定する方法はありますか?私はldapObject.timeout = 10をテストしました。それは私にとってはうまくいかなかったのです。何か案は?事前にPython-LDAP simple_bind_s timeout

おかげ..

答えて

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') 

これにより、指定されたタイムアウトに達するとldap.SERVER_DOWN例外が発生します。何らかの理由ldap.OPT_NETWORK_TIMEOUTについては

3

は私のためにタイムアウトに思えることはありませんので、私が代わりに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