我正在尝试使用此代码使用来自LWP :: Simple的getstore下载excel文件:
use 5.010;
use strict;
use warnings;
use LWP::Simple qw(getstore);
$xls_link = "http://linksample.com/this/link/auto-downloads/when-link-is-entered.xls";
$file_dir = "file/directory/filename.xls"
getstore($xls_link, $file_dir);
由于某种原因,文件未下载。我之前使用过LWP :: Simple和图像,它们工作得很好。它们与此唯一的区别在于它是一个excel文件,并且当您输入URL时URL也会自动下载该文件。
答案 0 :(得分:1)
我使用的是WWW :: Mechanize而不是getstore,而且我从链接中获得了认证错误
#!/usr/bin/perl
use 5.010;
use strict;
use WWW::Mechanize;
use IO::Socket::SSL qw();
my $xls_link = "http://linksample.com/this/link/auto-downloads/when-link-is-entered.xls";
my $file_dir = "file/directory/filename.xls"
my $mech = WWW::Mechanize->new(ssl_opts => {
SSL_verify_mode => IO::Socket::SSL::SSL_VERIFY_NONE,
verify_hostname => 0, # this key is likely going to be removed in future LWP >6.04
});
$mech->get("$xls_link");
$mech->save_content("$file_dir");
答案 1 :(得分:0)
未经测试可能对您的请求有所帮助。
use strict;
use warnings;
use LWP::Simple;
use WWW::Mechanize;
my $xls_link = $ARGV[0]; #http://linksample.com/this/link/auto-downloads/when-link-is-entered.xls
if (! head($xls_link)) { print "\nError: Provided weblink not available...!\n"; exit; }
else
{
my $file_dir = "c:/file/directory/filename.xls";
if(-e $file_dir) { print "\nError: Provided Directory/File found...!\n"; exit; }
getstore($xls_link, $file_dir);
}