0

***レジューム機能を備えた更新されたコード* *

    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たが、いくつかのエラーが残っています。部分的なファイルがある場合は、ファイルのダウンロードを再開する必要があります。

これは私が試したコードですが、どこから始めればよいかわかりません。したがって、この点に関する簡単な考えは非常に役立ちます。これについて助けてください。

4

1 に答える 1

1

の方法mirrorLWP::UserAgent参照してください。ドキュメントの引用:

このメソッドは、$url で識別されるドキュメントを取得し、$filename というファイルに保存します。

my $response = $ua->mirror($url, $filename); # no single quotes around variables!

のソースコードをmirror参照してください。切り捨てられた/部分的にダウンロードされたファイルを正しく処理します。

于 2012-05-15T09:42:42.500 に答える