根据在Unix上使用Perl传递的模式从给定URL获取文件
我被告知一个给定的URL包含几个xml和文本文件,我需要下载给定目录中以AAA开头的所有xml文件(即AAA*.xml) 访问该URL的凭据已提供给我 请不要让xml文件的大小以GB为单位 我已经用下面的代码实现了同样的功能-根据在Unix上使用Perl传递的模式从给定URL获取文件,perl,Perl,我被告知一个给定的URL包含几个xml和文本文件,我需要下载给定目录中以AAA开头的所有xml文件(即AAA*.xml) 访问该URL的凭据已提供给我 请不要让xml文件的大小以GB为单位 我已经用下面的代码实现了同样的功能- use strict; use warnings; use LWP; my $browser = LWP::UserAgent->new; my $username ='scott'; my $password='tiger'; # Create HTTP re
use strict;
use warnings;
use LWP;
my $browser = LWP::UserAgent->new;
my $username ='scott';
my $password='tiger';
# Create HTTP request object
my $req = HTTP::Request->new( GET => "https://url.com/");
# Authenticate the user
$req->authorization_basic( $username , $password);
my $res = $browser->request( $req , ':content_file' => '/fold/AAA1.xml');
print $res->status_line, "\n";
它打印200 OK状态,但我无法获取文件。有什么建议吗
Man如果服务器不允许您接收文件夹列表(即没有“选项+索引”的Apache),您将无法获得文件集合。
但是,有了该列表,您可以使用/AAA.*/之类的regexpr对其进行过滤,并且使用,很容易获取它它是一个安全的URL,当我在web浏览器上手动提供相同的URL时,身份验证会失败。因此,您可能需要使用WWW::mechanize模块进行机械化