Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Perl将文件从网站保存到桌面_Perl - Fatal编程技术网

Perl将文件从网站保存到桌面

Perl将文件从网站保存到桌面,perl,Perl,我在下面有一个脚本,我想从URL下载pdf #!/usr/bin/perl use warnings; use strict; use LWP::Simple; my $save = "C:\\Users\\rahard\\Desktop\\"; my $file = get 'http://locationoffile'; 如何将pdf保存到桌面?(如果我单击URL,它将提示我保存一个随机名称文件) 多谢各位 /编辑$save中的某些语法错误并编辑$file location用于打开文

我在下面有一个脚本,我想从URL下载pdf

#!/usr/bin/perl
use warnings;
use strict;
use LWP::Simple;

my $save = "C:\\Users\\rahard\\Desktop\\";  
my $file = get 'http://locationoffile';
如何将pdf保存到桌面?(如果我单击URL,它将提示我保存一个随机名称文件)

多谢各位

/编辑$save中的某些语法错误并编辑$file location

用于打开文件句柄并打印到其中。还要注意,
$save
中的每个反斜杠都必须转义

my $save = "C:\\Users\\rahard\\Desktop\\";  
my $file = get 'http://file.pdf';

open( FILE, '>', $save . 'filename.pdf' ) or die $!;
binmode FILE;
print FILE $file;
close( FILE );

可能是url不是pdf的原始位置,而您被重定向到它们? 如果
get
的响应不是有效的pdf,则可能是重定向页面的html内容

我会先测试一下


因此,我会使用
WWW::Mechanize
或类似的库。

嗨,谢谢。但是,我需要再次打开url并获取文件(因为url中的文件在每次下载时都有一个随机名称)。因此,我无法指定打开(文件“>”,$save.'filename.pdf”),因为filename.pdf将是随机的。而且,如果我手动指定filename.pdf,文件下载不正确(因此,当我下载pdf时,它会说文件编码不正确)@rahardi:确保文件是二进制保存的。我通过响应更新并添加了一行。在Windows上是必需的。