Perl, разрешающая ссылка скачать имя - PullRequest
2 голосов
/ 09 января 2012

Я пытаюсь написать скрипт на Perl, который генерирует список URL-адресов с веб-страницы, затем просматривает список URL-адресов и загружает связанные файлы.

проблема в том, что сгенерированные ссылки URL выглядят примерно так:

.не знаю, как получить его с помощью Perl.

как я могу получить с помощью Perl "истинное" имя файла ссылки?

Ответы [ 2 ]

3 голосов
/ 09 января 2012

Проверьте заголовки, в частности Content-Disposition.

2 голосов
/ 09 января 2012

Амадан понял все правильно, просто показывая код, который я использовал для его решения:

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";
}
...