我有一个需要更新的网页及其经过身份验证的网页。当我尝试访问该网页时,会打开一个弹出窗口,询问用户名和密码。如何在弹出窗口中提供用户名和密码。我编写了下面的代码,但它给出了“未经授权”的错误消息。当我手动提供链接时,弹出窗口打开,我点击取消同样的“未授权”消息出现。如何更改以下代码以在弹出窗口中提供用户名和密码,然后单击弹出窗口上的“确定”按钮。
#!/usr/bin/perl
use LWP::UserAgent;
use WWW::Mechanize;
use HTTP::Cookies;
use Crypt::SSLeay;
use strict;
use warnings;
my $username="sqar";
my $password="Pal500";
my $agent = WWW::Mechanize->new(autocheck => [1]);
my $url = 'http://example.com/content/Jen%20Automation.doc';
$agent->get($url);
$agent->field("os_username", $username);
$agent->field("os_password", $password);
$agent->submit();
print "AFter login\n";
my @links = $agent->find_all_links();
foreach $lin(@links){
unless ($lin->[0] =~ /^http?:\/\//i) {
$lin->[0] = "$url" . $lin->[0];
}
print "$lin->[0]" ;
print "\n";
}
弹出窗口显示消息:
WebDAV Server上的服务器example.com需要用户名和密码
以及用于输入用户名和密码的文本字段。
答案 0 :(得分:2)
尝试使用WWW :: Mechanize中的credentials()方法。
$agent->credentials( $username, $password );