我在Windows XP上运行Perl,需要从URL http://marinetraffic2.aegean.gr/ais/getkml.aspx下载一个文件。
我该怎么做呢?我尝试过使用WWW::Mechanize,但是我就是想不通。
这是我使用的代码:
my $url = 'marinetraffic2.aegean.gr/ais/getkml.aspx';
my $mech = WWW::Mechanize->new;
$mech->get($url);发布于 2011-01-12 23:25:09
为此,我会使用LWP::Simple。
#!/usr/bin/perl
use strict;
use warnings;
use LWP::Simple;
my $url = 'http://marinetraffic2.aegean.gr/ais/getkml.aspx';
my $file = 'data.kml';
getstore($url, $file);发布于 2014-04-15 00:33:48
我使用了File::Fetch,因为它是一个核心的Perl模块(我不需要安装任何额外的包),并且将根据系统上安装的内容尝试多种不同的方法来下载文件。
use File::Fetch;
my $url = 'http://www.example.com/file.txt';
my $ff = File::Fetch->new(uri => $url);
my $file = $ff->fetch() or die $ff->error;请注意,如果安装了LWP,此模块实际上将首先尝试使用LWP。
发布于 2011-01-12 23:41:31
如果下载该文件是您实际要做的全部工作,那么您最好使用@davorg的答案。
如果这是一个更大的过程的一部分,那么可以在$mech对象上使用content方法访问以字符串形式下载的资源。
https://stackoverflow.com/questions/4669670
复制相似问题