phpman > perldoc > LWP::Protocol::ldap

Markdown | JSON | MCP    

NAME
    LWP::Protocol::ldap - Provide LDAP support for LWP::UserAgent

SYNOPSIS
      use LWP::UserAgent;

      $ua = LWP::UserAgent->new();
      $res = $ua->get('ldap://ldap.example.com/' .
                      'o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)',
                       Accept => 'text/json'):

DESCRIPTION
    The LWP::Protocol::ldap module provides support for using *ldap* schemed URLs following RFC 4516
    with LWP. This module is a plug-in to the LWP protocol handling, so you don't use it directly.

    In addition to being used with LDAP URIs, LWP::Protocol::ldap also acts as the base class for
    its sibling modules LWP::Protocol::ldaps and LWP::Protocol::ldapi.

  Features
   HTTP methods supported
    LWP::Protocol::ldap implements the HTTP *GET* and *HEAD* methods. They are mapped to the LDAP
    search operation,

   Response format
    Depending on the HTTP *Accept* header provided by the user agent, LWP::Protocol::ldap can answer
    the requests in one of the following formats:

    DSML
        When the HTTP *Accept* header contains the "text/dsml" MIME type, the response is sent as
        DSMLv1.

    JSON
        When the HTTP *Accept* header contains the "text/json" MIME type, the response is sent as
        JSON. For this to work the *JSON* Perl module needs to be installed.

    LDIF
        When the HTTP *Accept* header contains the "text/ldif" MIME type, the response is sent in
        LDIFv1 format.

    HTML
        In case no HTTP *Accept* header has been sent or none of the above MIME types can be
        detected, and the *x-format* extension has not been provided either, the response is sent
        using HTML markup in a 2-column table format (roughly modeled on LDIF).

    As an alternative to sending an HTTP *Accept* header, LWP::Protocol::ldap also accepts the
    "x-format" extension

    Example:

     ldap://ldap.example.com/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)?x-format=dsml

   TLS support
    For *ldap* and *ldapi* URIs, the module implements the "x-tls" extension that switches the LDAP
    connection to TLS using a call of the start_tls method.

    Example:

     ldap://ldap.example.com/o=University%20of%20Michigan,c=US??sub?(cn=Babs%20Jensen)?x-tls=1

    Note: In the above example, ideally giving "x-tls" should be sufficient, but unfortunately the
    parser in URI::ldap has a little flaw.

   Authorization
    Usually the connection is done anonymously, but if the HTTP *Authorization* header is provided
    with credentials for HTTP Basic authorization, the credentials given in that header will be used
    to do a simple bind to the LDAP server.

SEE ALSO
    LWP::Protocol::ldaps, LWP::Protocol::ldapi

COPYRIGHT
    Copyright (c) 1998-2004 Graham Barr, 2012 Peter Marschall. All rights reserved. This program is
    free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-14 00:13 @216.73.216.200
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!