以下是有效的:但现在我正在尝试从需要身份验证的网站下载一个文件(并且可能保存一个 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/
- 您必须在此页面上单击“确定”(返回您想去的地方......)
- 然后你会得到一个浏览器对话框:你必须:
选择(单选按钮)“保存文件”按确定
- 你完成了!文件保存在本地。