【发布时间】:2011-11-22 17:35:05
【问题描述】:
以下工作正常:但现在我正在尝试从需要身份验证的网站下载文件(并可能保存一个 cookie,该 cookie 在 24 小时后过期)以访问内容。
如何向网站提供此身份验证?如果未经联合国身份验证的用户访问 URL(或网站),他/她将被重定向到身份验证页面,您必须在其中输入用户名和密码并按 Enter(登录按钮)。身份验证控制后自动返回您最初询问的 URL。
这是我目前所拥有的,适用于不需要身份验证的网站:
#!/usr/bin/perl
use strict;
use warnings;
use LWP;
use Data::Dumper;
my $ua = LWP::UserAgent->new;
my $agent = "my-lwp agent";
$ua->agent($agent);
$ENV{HTTPS_PROXY} = 'http://myproxy:8080';
my $req = HTTP::Request->new(GET => 'https://mail.yahoo.com');
$req->content_type('text/html');
$req->protocol('HTTP/1.0');
my $response = $ua->request($req);
if ($response->is_success) {
print "1 success\n";
}
else {
print "1 error\n";
}
print Dumper $response;
现在我需要从 URL 下载这个文件:https://myurl.com/file.doc 需要认证:用户名/密码。
添加问题定义:在我的情况下如何使用普通浏览器:...
- 在浏览器中发布您的网址:https://myurl/files/file.doc
- 您会看到一个登录页面(URL 看起来还是一样)
- 输入字段名称:用户名/密码
-
按“确定”按钮(字段名称 btnSubmit)
登录成功后:
- 你会得到新页面:https://newurl/pagSuccess/
- 您必须在此页面上单击“确定”(返回您想去的地方...)
- 然后您会看到一个浏览器对话框:您必须:
选择(单选按钮)“保存文件” 按确定
- 你完成了!!!文件保存在本地。
【问题讨论】: