zogness has asked for the wisdom of the Perl Monks concerning the following question:

I need to grab images off a site (similar to cricket) that uses http digest authentication. Below is all I have. It spits the error:
"LWP::UserAgent::request: Simple response: Internal Server Error"
(report:H4ckP4s5 would be the username/password)
------------------------------------------------------
#!/usr/bin/perl -l use strict; use WWW::Mechanize; use Crypt::SSLeay; use HTTP::Cookies; use LWP::Debug qw(+); my $outfile = "out.htm"; my $url = "https://report:H4ckP4s5\@colomanager\.\/stats\/cg i\?sid\=1242418655166\&area=recent\&action=frame\&width=1135\&id=57669 +7218059\&" ; #my $username = "ps-report"; #my $password = "Hack.2ae"; my $mech = WWW::Mechanize->new(); $mech->cookie_jar(HTTP::Cookies->new()); $mech->get($url); my $output_page = $mech->content(); open(OUTFILE, ">$outfile"); print OUTFILE "$output_page"; close(OUTFILE); <br>
------------------------------------------------

Replies are listed 'Best First'.
Re: http digest auth
by scorpio17 (Canon) on Mar 06, 2007 at 18:50 UTC
    Try adding this:
    $mech->credentials($username, $password)
Re: http digest auth
by ikegami (Patriarch) on Mar 06, 2007 at 19:57 UTC

    Only $, @, \ and the end delimiter (" in this case) need to escaped in double-quoted strings.
    my $url = "https://colomanager\.\/stats\/cgi\?sid\=1242418655166\&area=recent\&action=frame\&width=1135\&id=576697218059\&";
    can be written more readably as
    my $url = "https://colomanager./stats/cgi?sid=1242418655166&area=recent&action=frame&width=1135&id=576697218059&";