是否有任何 perl 模块,如 File::Remote,可通过 http(只读)工作?就像是
$magic_module->open( SCRAPE, "http://somesite.com/");
while(<SCRAPE>)
{
#do something
}
是否有任何 perl 模块,如 File::Remote,可通过 http(只读)工作?就像是
$magic_module->open( SCRAPE, "http://somesite.com/");
while(<SCRAPE>)
{
#do something
}
是的当然。您可以使用LWP::Simple
:
use LWP::Simple;
my $content = get $url;
不要忘记检查内容是否为空:
die "Can't download $url" unless defined $content;
$content
会不会是undef
在下载过程中发生了一些错误。
使用HTTP::Tiny:
use HTTP::Tiny qw();
my $response = HTTP::Tiny->new->get('http://example.com/');
if ($response->{success}) {
print $response->{content};
}
您也可以使用File::Fetch
模块:
File::Fetch
->new(uri => 'http://google.com/robots.txt')
->fetch(to => \(my $file));
say($file);
如果您希望统一接口同时处理本地、远程 (HTTP/FTP) 和任何其他文件,请使用IO::All
module.
use IO::All;
# reading local
my $handle = io("file.txt");
while(defined(my $line = $handle->getline)){
print $line
}
# reading remote
$handle = io("http://google.com");
while(defined(my $line = $handle->getline)){
print $line
}