0

我正在尝试在 Linux 环境中使用 Perl 检索 MRTG 图。

#!/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;
}

我使用了代码,但出现以下错误:-

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

然后我将它添加到代码中,

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

但我得到同样的错误。任何人都可以帮我解决它。谢谢 。

4

1 回答 1

1

再次检查文档LWP::UserAgent,您缺少一个参数:

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

获取/设置用于领域的用户名和密码。

$netloc 是“<host>:<port>”形式的字符串。用户名和密码将仅传递到此服务器。例子:

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

可能更简单的方法是在 url 中包含 u/p。

my $response = $ua->get('http://user:pass@www.myview.internetaccess.tatacommunications.com/cgi-bin/');
于 2014-04-02T07:21:20.680 回答