Как скачать `decoded_content`
*** ОБНОВЛЕННЫЙ КОД с функциональностью резюме * *
my $ua = LWP::UserAgent->new;
$ua->credentials('$ip:80', 'Realm', 'username', 'password');
my $response = $ua->mirror($url,$newfile);
if ($response->is_success) {
print "Download Successfull.";
}
else {
print "Error: " . $response->status_line;
}
** * ** * ** СТАРЫЙ КОД * ** * ** * ** * ** * ** * *
my $ua = LWP::UserAgent->new;
$ua->credentials('$ip:80', 'Realm', 'username', 'password');
my $response = $ua->get($url);
if ($response->is_success) {
print "Retrieved " .length($response->decoded_content) .
" bytes of data.";
}
else {
print "Error: " . $response->status_line;
}
open my $fh, '>encoding(UTF-8)', $tmp;
print {$fh} $response->decoded_content;
close $fh;
if ( -e $tmp ) {
my $filesize = ( stat $tmp )[9];
my $origsize = $queue[$rec][1];
if ( $filesize < $origsize) {
print "Resuming download";
******************************************
code for resuming the partly downloaded file...
*******************************************
}
else {
print "File downloaded correctly\n";
}
}
Как я новичок в Perl, можно скачать decoded_content
, хотя некоторые ошибки сохраняются. Необходимо возобновить загрузку файла, если у нас есть частичный файл.
Это был код, который я пробовал, но не знаю, с чего начать, поэтому любые быстрые мысли на этот счет действительно помогут. Пожалуйста, помогите в этом.
1 ответ
См метод mirror
в LWP::UserAgent
, Документация цитата:
Этот метод получит документ, идентифицированный $url, и сохранит его в файле с именем $filename.
my $response = $ua->mirror($url, $filename); # no single quotes around variables!
Смотрите исходный код для mirror
, он правильно обрабатывает усеченные / частично загруженные файлы.