Thread download von pdf über LWP::UserAgent (1 answers)
Opened by Gustl at 2015-04-12 10:24

Gustl
 2015-04-12 10:24
#180633 #180633
User since
2011-01-27
441 Artikel
BenutzerIn
[Homepage]
user image
Hallo,

ich möchte pdfs von einer Homepage herunterladen udn mir dann per email schicken. Problem ist das die Downloadlinks nicht direkt auf das PDF gehen sondern über einer download.php vom Browser heruntergeladen werden.

Folgendes habe ich schon:
Code (perl): (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
30
31
32
33
34
use strict;
use HTML::TreeBuilder::XPath;
use LWP::UserAgent;
use LWP::Simple qw(getstore);

my $result = 0;
my $dl_url = "http://www.xxx.de/";
my $url = "http://www.xxx.de/index.php?id=0,20";

my $ua = LWP::UserAgent->new;
my $response = $ua->get($url);
if (not $response->is_success) { $result = 1; }   
print $result."\n";
my $tree= HTML::TreeBuilder::XPath->new;
$tree->parse($response->decoded_content);
my @titles = $tree->findnodes( '//h4/a');

for my $tit (@titles) {
  my $title    = $tit->findvalue('@title');
  my $download = $tit->findvalue('@href');
  print $title."\n".$download."\n";
  my $dl_url_complete = $dl_url.$download;
  print $dl_url_complete."\n";
  exit;
  my $ua = LWP::UserAgent->new();
  my $response = $ua->get($dl_url_complete);
  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 = $title.".pdf";
  getstore($url,$save),        
  
}


Die $dl_url_complete sieht dann so aus:
http://www.xxx.de/export/download.php?id=3058&lang...

Aber mit getstore speichere ich wohl wirklich nur die download.php bzw. das html Ergebnis davon.
Wenn ich den Link von $dl_url_complete direkt im Browser aufrufe startet der DL sofort.

Hat jemand eine Idee wie ich das umsetzen könnte?

Vielen Dank schonmal.

Gruß,
Jörg

View full thread download von pdf über LWP::UserAgent