是否有像File :: Remote这样的perl模块,它可以通过http(只读)工作?像
这样的东西$magic_module->open( SCRAPE, "http://somesite.com/");
while(<SCRAPE>)
{
#do something
}
答案 0 :(得分:5)
是的,当然。您可以使用LWP::Simple
:
use LWP::Simple;
my $content = get $url;
不要忘记检查内容是否为空:
die "Can't download $url" unless defined $content;
$content
将undef
在下载过程中发生错误。
答案 1 :(得分:3)
您也可以使用File::Fetch
模块:
File::Fetch
->new(uri => 'http://google.com/robots.txt')
->fetch(to => \(my $file));
say($file);
答案 2 :(得分:3)
使用HTTP::Tiny:
use HTTP::Tiny qw();
my $response = HTTP::Tiny->new->get('http://example.com/');
if ($response->{success}) {
print $response->{content};
}
答案 3 :(得分:2)
如果您希望统一接口同时处理本地,远程(HTTP / FTP)和其他任何文件,请使用IO::All
模块。
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
}