使用perl从url下载zip文件

时间:2014-03-27 12:58:44

标签: perl

我有一个URL,当请求该URL时,它开始下载.zip文件。 Zip包含PDF文件。

我尝试使用WWW :: Mechanize,生成zip文件,但是当尝试打开PDF文件时,它给出了“不支持的文件类型或文件已损坏”的错误

my $mech = WWW::Mechanize->new;
$URL = "http:....";
my $filename = "test.zip";
$mech->get($URL,":content_file" => "$filename",);

帮助我。

2 个答案:

答案 0 :(得分:2)

您可以$mech->get($url)获取网址,然后使用content方法接收原始内容:

printf "ct=%s len=%d\n", $mech->ct(), length($mech->content(raw => 1));

稍后您可以使用此缓冲区解压缩您的zip,例如:

my $z = new IO::Uncompress::AnyUncompress(\$mech->content(raw => 1)) or die "Cant uncompress: $@ $!";

答案 1 :(得分:0)

以下代码正常运行。 $mech->ct是" application / zip"。所以用.zip格式保存了文件内容。现在我可以将zip下载到本地目录中,下载后,手动我可以解压缩/查看zip文件中的内容,没有任何错误。

$mech = WWW::Mechanize->new; $URL="http://www......"; $mech->get($URL); $mech->save_content("test.zip");

感谢您的帮助。