[Melbourne-pm] LWP and Digest authentication
Craig Sanders
cas at taz.net.au
Thu Nov 16 16:07:33 PST 2006
On Fri, Nov 17, 2006 at 10:09:13AM +1100, Guy Morton wrote:
> Anyone know of a good tutorial for this? I'm not having much luck so
> far.
see the lwptut man page for more details, but in summary it is like this:
use LWP;
my $browser = LWP::UserAgent->new;
$browser->credentials(
'servername:portnumber',
'realm-name',
'username' => 'password'
);
this should work for Basic and Digest auth.
(note that lwptut also mentions that neither authentication nor cookies
are available for LWP::Simple).
see also LWP::UserAgent which mentions this:
$ua->credentials( $netloc, $realm, $uname, $pass )
Set the user name and password to be used for a realm. It is
often more useful to specialize the get_basic_creden- tials()
method instead.
(it's interesting that the username and password pair are a hash in the
lwptut example, and just members of a list in the man page. dunno which
is right, or if both are right)
and this:
$ua->get_basic_credentials( $realm, $uri, $isproxy )
This is called by request() to retrieve credentials for
documents by Basic or Digest Authentication. The arguments
passed in is the $realm provided by the server, the $uri and a
boolean flag to indicate if this is authentication against a
proxy server.
The method should return a username and password. It should
return empty list to abort the authentication resolu- tion
attempt. Subclasses can override this method to prompt the
for the information. An example of this can be found in
"lwp-request" program distributed with this library.
The base implementation simply checks a set of pre-stored
member, set up with the credentials() method.
hope that helps.
craig
--
craig sanders <cas at taz.net.au> (part time cyborg)
More information about the Melbourne-pm
mailing list