perl speichern Sie eine Datei heruntergeladen haben, lwp

Im mit LWP eine ausführbare Datei herunterladen geben und mit der Antwort im Speicher, bin ich in der Lage hash der Datei. Aber wie kann ich diese Datei auf meinem system? Ich denke, ich bin auf der falschen Spur mit dem, was ich versuche unten. Der download ist erfolgreich, wie ich bin in der Lage, zum generieren des hash korrekt (ich habe es überprüft, es durch das herunterladen der eigentlichen Datei und vergleicht die hashes).

use strict;
use warnings;
use LWP::Useragent;
use Digest::MD5    qw( md5_hex );
use Digest::MD5::File qw( file_md5_hex );
use File::Fetch;

my $url = 'http://www.karenware.com/progs/pthasher-setup.exe';
my $filename = $url;
$filename =~ m/.*\/(.*)$/;
$filename = $1;
my $dir ='/download/two';
print "$filename\n";

my $ua = LWP::UserAgent->new();
my $response = $ua->get($url);
die $response->status_line if !$response->is_success;
my $file = $response->decoded_content( charset => 'none' );
my $md5_hex = md5_hex($file);
print "$md5_hex\n";
my $save = "Downloaded/$filename";
    unless(open SAVE, '>>'.$save) {
        die "\nCannot create save file '$save'\n";
    }
    print SAVE $file;
    close SAVE;

Wenn Sie sich Fragen, warum ich nicht stattdessen alles herunterladen dann analysieren Sie den Ordner für jede Datei und jeden hash, ist es, weil im Download-alle diese Dateien in einer Schleife. Und während jeder Schleife, ich lade die entsprechenden Quell-URL (wo sich diese Datei gefunden wurde) , zusammen mit dem Datei-Namen und hash in einer Datenbank in einem Rutsch.

InformationsquelleAutor Marcus Lim | 2012-12-06
Schreibe einen Kommentar