使用Perl CGI.pm从Web下载文件

时间:2020-06-22 06:32:54

标签: perl

我正在尝试编写Perl脚本以从Web下载文件,然后对其进行处理。我的服务器空间中仅安装了CGI.pm。请指教。

2 个答案:

答案 0 :(得分:1)

我认为您有点困惑。如果您尝试下载文件,那么CGI.pm将对您毫无用处。 CGI.pm帮助您编写CGI程序;它无助您下载文件。

要从Web服务器下载文件,您需要充当Web客户端的文件。浏览器是一个Web客户端,但是我们需要一个具有类似功能的程序-发送HTTP请求并处理HTTP响应。

最明显的选项是LWP::Simple。其中包括一个名为getstore()的函数。

my $code = getstore($url, $file);

您说这对您不可用。为了编写各种复杂的Perl程序,您应该找到一个托管它们的位置,该位置使您可以访问许多Perl模块(或允许您安装它们)。如此多的现代Perl编程包括将CPAN模块中的功能结合在一起,并且由于无法访问该功能,因此您在认真缩减可用的选项。

但是标准Perl发行版中还有其他一些选项,应该可以使用。

HTTP::Tiny自2011年Perl 5.14以来一直是Perl核心发行版的一部分。您可以使用其mirror()函数来下载文件。

从2007年Perl 5.10开始,

File::Fetch已成为Perl代码发行版的一部分。您可以这样使用它:

use File::Fetch;

my $ff = File::Fetch->new(uri => $your_uri);
# $where will contain the path to the downloaded file
my $where = $ff->fetch or die $ff->error;

答案 1 :(得分:0)

您最好使用LWP::Simple