Question

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 .

Was it helpful?

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:pass@www.myview.internetaccess.tatacommunications.com/cgi-bin/');
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top