⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 search_s.c

📁 操做 openldap 的c语言源码
💻 C
字号:
#include "ldap.h"
#include "stdio.h"
int main()
{
  LDAP  *ld;
  LDAPMessage *res,*e;
  int i,version;
  char *server;
  int *port;
  char *dn;
  char *a;
  BerElement *ptr;
  char **vals;
  char **ppValue = NULL;
  char *sdn;
  server="192.168.3.3";
  port = 389;
  if( (ld = ldap_open(server, port ))  == NULL )
   {
        printf("失败");
        exit( 1 );
   }
   version = LDAP_VERSION3;
   ldap_set_option( ld, LDAP_OPT_PROTOCOL_VERSION,&version);
   if(ldap_simple_bind_s(ld,"cn=root,dc=starxing,dc=com","secret")!=LDAP_SUCCESS)
   {
     ldap_perror( ld, "ldap_simple_bind_s" );
     exit( 1 );
   }
   sdn="dc=starxing,dc=com";
  if (ldap_search_s(ld,sdn,LDAP_SCOPE_SUBTREE,"(objectclass=*)",NULL,0,&res)
     != LDAP_SUCCESS)
   {
    ldap_perror(ld,"ldap_search_s");
    exit(1);
   }
  for(e=ldap_first_entry(ld,res);e!=NULL;e=ldap_next_entry(ld,e))
  {
    dn=ldap_get_dn(ld,e);
    printf("dn: %s \n",dn);
    ldap_memfree( dn );
     for ( a = ldap_first_attribute( ld, e, &ptr );a != NULL;a = ldap_next_attribute( ld, e, ptr ) )
      {
         printf( "   %s:  ",a );
	  vals = ldap_get_values( ld, e, a );
              for ( i = 0; vals[i] != NULL; i++ ) {
                 printf(" %s ",vals[i]);
				}
		printf("\n");
          ldap_value_free( vals );
      }
      printf("\n");
  }
    ldap_msgfree(res);
    ldap_unbind(ld);
}





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -