我正在尝试在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");
但我得到同样的错误。 任何人都可以帮我解决它。 谢谢。
答案 0 :(得分:1)
再次检查LWP::UserAgent
的文档,您错过了参数:
$ ua->凭据($ netloc,$ realm,$ uname,$ pass)
获取/设置用于领域的用户名和密码。
$ netloc是"< host>:< port>"形式的字符串。用户名和密码只会传递给此服务器。例如:
$ ua->凭据(" www.example.com:80","某些领域"," foo","秘密&# 34);
可能更简单的方法就是在网址中加入u / p。
my $response = $ua->get('http://user:pass@www.myview.internetaccess.tatacommunications.com/cgi-bin/');