【发布时间】:2010-12-20 10:14:18
【问题描述】:
我正在尝试访问受保护的文件。服务器正在使用摘要身份验证 - 我可以从打印出的响应中看到。 下面是示例代码:
use LWP;
use strict;
my $url = 'http://somesite.com/aa/bb/cc.html';
my $username = 'scott';
my $password = 'tiger';
my $browser = LWP::UserAgent->new('Mozilla');
$browser->credentials("http://somesite.com:80","realm-name",$username=>$password);
my $response=$browser->get($url);
print $response->content;
当我尝试从浏览器访问该资源时,我从弹出窗口中获得的领域名称。相同的用户名和密码在浏览器中工作得非常好,我可以看到内容,但是当我运行上面的脚本时,它总是显示401 Authorization required。
LWP 是如何工作的?
我是否需要让 LWP 发送用户名和密码的 MD5 哈希(摘要),或者它是否像内部一样检查要使用的身份验证并发送相应的(基本/摘要)发送凭据的方式。 我的问题是
- 如何设置 LWP 以发送用户名和密码摘要?
- 如果服务器使用 Windows NTLM 身份验证协议怎么办?遇到这种情况该怎么办?
非常感谢任何快速帮助!
【问题讨论】:
-
尝试从
"http://somesite.com:80"中删除端口号。 -
这不是端口,但应该删除 http:// - 谢谢 Ivan
标签: perl lwp lwp-useragent