LWP should handle both Basic and Digest authentication with LWP::Authen::Basic and
LWP::Authen::Digest.
I've searched for more documentation about LWP and Digest authentication, but not found much more.
I've found the node LWP and Digest Authentication here on PerlMonks which linked me to the t/jigsaw-auth-d.t script inside the libwww-perl distribution. which is kind of confusing.
use LWP::UserAgent;
{
package MyUA;
use vars qw(@ISA);
@ISA = qw(LWP::UserAgent);
my @try = (['foo', 'bar'], ['', ''], ['guest', ''], ['guest', 'gues
+t']);
sub get_basic_credentials {
my($self,$realm, $uri, $proxy) = @_;
print "$realm:$uri:$proxy => ";
my $p = shift @try;
print join("/", @$p), "\n";
return @$p;
}
}
my $ua = MyUA->new(keep_alive => 1);
my $req = HTTP::Request->new(GET => "http://jigsaw.w3.org/HTTP/Digest/
+");
my $res = $ua->request($req);
To properly use the digest authentication the function get_basic_credentials() have to be overridden as ikegami did on Re^3: LWP and Digest Authentication.
Alex's Log - http://alexlog.co.cc
|