首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Perl,解析链接下载名。

Perl,解析链接下载名。
EN

Stack Overflow用户
提问于 2012-01-09 00:43:47
回答 2查看 1.1K关注 0票数 2

我试图用Perl编写一个脚本,它可以从网页生成URL列表,而不是遍历URL列表并下载链接的文件。

问题是生成的URL链接看起来类似于

www.example.com/download.php?file=Li9OaW50ZW5kby9ORVMvVVNBLzEwIFlhcmQgRmlnaHQuemlw

当我在浏览器中放置这个链接时,它知道真正的文件名(即cards.zip),我不知道如何使用Perl实现它。

如何使用Perl (链接的“真”文件名)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-09 00:49:15

检查标头,特别是Content-Disposition

票数 3
EN

Stack Overflow用户

发布于 2012-01-09 12:51:34

Amadan说得对,只是展示了我用来解决这个问题的代码:

代码语言:javascript
复制
use LWP::UserAgent qw( );
use LWP::Simple;
$url  = 'http://www.example.com/download.php?file=Li9OaW50ZW5kby9ORVMvVVNBLzNEIEJhdHRsZXMgb2YgV29ybGQgUnVubmVyLnppcA==';

#get file name
my $ua = LWP::UserAgent->new();
$cnt = %{%{$ua->head( $url )}->{'_headers'}}->{'content-disposition'};
$cnt =~ m/filename=(.*)/;
print "File name is: $1\n";

#Save File
my $status = getstore($url, $1);

if ( is_success($status) ){
    print "File $1 Saved Correctly !\n";
}else{
    print "Error saving $1!\n";
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8782813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档