Perl LWP::UserAgent和登录凭据

Perl LWP::UserAgent和登录凭据,perl,credentials,lwp,lwp-useragent,Perl,Credentials,Lwp,Lwp Useragent,我正在尝试使用LWP::UserAgent设置凭据,但无法登录$username,$passwd正确。我不明白应该在第三个参数中输入什么(根据dos$realm,这里是身份验证)。下面是代码片段: my $browser = LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060719 Firefox/31.2.0', $browser-

我正在尝试使用LWP::UserAgent设置凭据,但无法登录<代码>$username,
$passwd
正确。我不明白应该在
第三个参数中输入什么(根据dos
$realm
,这里是
身份验证
)。下面是代码片段:

my $browser = LWP::UserAgent->new(agent => 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.0.5) Gecko/20060719 Firefox/31.2.0',
$browser->credentials("domain.com:80", "Authentication",$username, $passwd);
my $response=$browser->get("http://domain.com/page");

print $response->content;

我将领域更正为@ThisSuiteisBlack不建议:

Close your browser and reopen it. Navigate to http://domain.com/page. 
If the site is using basic authentication, 
you should get a popup that says something like 
A username and password are being requested by 
http://domain.com. The site says: "foo bar". 
In this case, foo bar is the realm.
然后我可以登录,但是页面是空的。 因此,我添加了一个cookie:

$browser->cookie_jar({ file => ".mycookies.txt" });

领域
是否与服务器要求的领域匹配?如果您使用
凭证($username,$passwd)这样行吗?@Sobrique这是我的问题。。。我说我不知道我应该放什么。。。凭据($username,$passwd)也不起作用。请关闭浏览器并重新打开。导航到
http://domain.com/page
。如果站点正在使用基本身份验证,您应该会看到一个弹出窗口,上面显示有人请求用户名和密码http://domain.com. 网站上写着:“foobar”
。在本例中,
foo bar
是域。如果没有域的凭据不起作用,则它们是错误的凭据。@user897237如何使其起作用?你应该把它写下来作为一个答案(而不是评论),这样将来有同样问题的用户可以看到你是如何解决的。不需要使用单独的浏览器。如果安装了LWP,则可能有脚本
GET
HEAD
。对受保护的资源执行一个
HEAD
,您将得到一个提示
在**主机**:*端口**:
为**领域**输入用户名。