Search code examples
perllwp-useragentmrtg

Using LWP::UserAgent to retrieve MRTG Graph in Perl


I am trying to retrieve an MRTG graph using Perl in Linux environment .

#!/usr/bin/perl
use strict;
use warnings;
use LWP::UserAgent;
use Data::Dumper;

my $ua = LWP::UserAgent->new;
$ua->timeout(10);

my $response = $ua->get('http://www.myview.internetaccess.tatacommunications.com/cgi-bin/');


if ($response->is_success) {
    print $response->decoded_content;  # or whatever
}
else {
    die $response->status_line;
}

I used the code , but got the following error :-

  Error:   401 Authorization Required at mrtg.pl line 18.

Then I added this to the code ,

$ua->credentials("url","username","password");

But I get the same error . Can anyone please help me fix it . Thanks .


Solution

  • Check the documentation for LWP::UserAgent again, you're missing a parameter:

    $ua->credentials( $netloc, $realm, $uname, $pass )

    Get/set the user name and password to be used for a realm.

    The $netloc is a string of the form "<host>:<port>". The username and password will only be passed to this server. Example:

    $ua->credentials("www.example.com:80", "Some Realm", "foo", "secret");

    Probably an easier method would be just to include the u/p in the url.

    my $response = $ua->get('http://user:[email protected]/cgi-bin/');