1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
4 .\" ========================================================================
5 .de Sh \" Subsection heading
13 .de Sp \" Vertical space (when we can't use .PP)
17 .de Vb \" Begin verbatim text
22 .de Ve \" End verbatim text
26 .\" Set up some character translations and predefined strings. \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote. | will give a
29 .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
37 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD. Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
57 . tm Index:\\$1\t\\n%\t"\\$2"
63 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear. Run. Save yourself. No user-serviceable parts.
70 . \" fudge factors for nroff and troff
79 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
85 . \" simple accents for nroff and troff
95 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
102 . \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 . \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 . \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
129 .\" ========================================================================
131 .IX Title "LWP::Authen::Ntlm 3"
132 .TH LWP::Authen::Ntlm 3 "2009-06-15" "perl v5.8.7" "User Contributed Perl Documentation"
134 LWP::Authen::Ntlm \- Library for enabling NTLM authentication (Microsoft) in LWP
136 .IX Header "SYNOPSIS"
138 \& use LWP::UserAgent;
139 \& use HTTP::Request::Common;
140 \& my $url = 'http://www.company.com/protected_page.html';
144 \& # Set up the ntlm client and then the base64 encoded ntlm handshake message
145 \& my $ua = new LWP::UserAgent(keep_alive=>1);
146 \& $ua\->credentials('www.company.com:80', '', "MyDomain\e\eMyUserCode", 'MyPassword');
150 \& $request = GET $url;
151 \& print "\-\-Performing request now...\-\-\-\-\-\-\-\-\-\-\-\en";
152 \& $response = $ua\->request($request);
153 \& print "\-\-Done with request\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\en";
157 \& if ($response\->is_success) {print "It worked!\->" . $response\->code . "\en"}
158 \& else {print "It didn't work!\->" . $response\->code . "\en"}
161 .IX Header "DESCRIPTION"
162 \&\f(CW\*(C`LWP::Authen::Ntlm\*(C'\fR allows \s-1LWP\s0 to authenticate against servers that are using the
163 \&\s-1NTLM\s0 authentication scheme popularized by Microsoft. This type of authentication is
164 common on intranets of Microsoft-centric organizations.
166 The module takes advantage of the Authen::NTLM module by Mark Bush. Since there
167 is also another Authen::NTLM module available from \s-1CPAN\s0 by Yee Man Chan with an
168 entirely different interface, it is necessary to ensure that you have the correct
169 \&\s-1NTLM\s0 module.
171 In addition, there have been problems with incompatibilities between different
172 versions of Mime::Base64, which Bush's Authen::NTLM makes use of. Therefore, it is
173 necessary to ensure that your Mime::Base64 module supports exporting of the
174 encode_base64 and decode_base64 functions.
177 The module is used indirectly through \s-1LWP\s0, rather than including it directly in your
178 code. The \s-1LWP\s0 system will invoke the \s-1NTLM\s0 authentication when it encounters the
179 authentication scheme while attempting to retrieve a \s-1URL\s0 from a server. In order
180 for the \s-1NTLM\s0 authentication to work, you must have a few things set up in your
181 code prior to attempting to retrieve the \s-1URL:\s0
183 Enable persistent \s-1HTTP\s0 connections
185 To do this, pass the \*(L"keep_alive=>1\*(R" option to the LWP::UserAgent when creating it, like this:
188 \& my $ua = new LWP::UserAgent(keep_alive=>1);
191 Set the credentials on the UserAgent object
193 The credentials must be set like this:
196 \& $ua\->credentials('www.company.com:80', '', "MyDomain\e\eMyUserCode", 'MyPassword');
199 Note that you cannot use the HTTP::Request object's \fIauthorization_basic()\fR method to set
200 the credentials. Note, too, that the 'www.company.com:80' portion only sets credentials
201 on the specified port \s-1AND\s0 it is case-sensitive (this is due to the way \s-1LWP\s0 is coded, and
202 has nothing to do with LWP::Authen::Ntlm)
204 .IX Header "AVAILABILITY"
205 General queries regarding \s-1LWP\s0 should be made to the \s-1LWP\s0 Mailing List.
207 Questions specific to LWP::Authen::Ntlm can be forwarded to jtillman@bigfoot.com
209 .IX Header "COPYRIGHT"
210 Copyright (c) 2002 James Tillman. All rights reserved. This
211 program is free software; you can redistribute it and/or modify it
212 under the same terms as Perl itself.
214 .IX Header "SEE ALSO"
215 \&\s-1LWP\s0, LWP::UserAgent, lwpcook.