Thread Fehler im encoding?: Download -> korrupte Datei (2 answers)
Opened by Gast at 2006-08-28 14:18

Gast Gast
 2006-08-28 14:18
#69300 #69300
Hallo zusammen! Ich hoffe ich habe hier den richtigen Forenteil getroffen.

Folgendes Problem habe ich:
Ein Teil eines Programms welches ich gerade schreibe soll beliebige Datein aus dem Internet anhand einer URL herunterladen und lokal hinterlegen. Dafür habe ich folgenden Code geschrieben (gekürzte Fassung):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/usr/local/bin/perl -w
use strict;
use warnings;
use LWP::UserAgent;

sub download {
my $as_target=shift;
my $ref=shift;
my $l_agent=LWP::UserAgent->new('max_redirect'=>0);
my $l_response=$l_agent->get($as_target);
if ($l_response->is_success) {
$$ref=$l_response->content;
return 1;
}
else {
$$ref=$l_response->status_line;
return 0;
}
}

my $url=<STDIN>;
chomp $url;
my $data;
download($url,\$data);
my $pos=rindex($data,"/");
my $dateiname=substr($l_zieldatei,$pos+1);
open (STREAM,">$dateiname");
print STREAM $data;
close STREAM;


Das ganze funktioniert soweit ganz gut, solange es sich um Textdatein handelt. Komme ich jedoch zu pdf's oder jpg's (bisher nur damit probiert) sind die Datein unter Windows korrupt. Unter Linux kann ich noch alles anzeigen lassen, jedoch scheint da auch nicht alles 100%ig zu stimmen.

Ich vermute, das es irgendwas mit dem Encoding der Daten zu tun hat, da ich davon aber kaum Ahnung habe, wäre es nett wenn ihr mir evtl helfen könntet.

View full thread Fehler im encoding?: Download -> korrupte Datei