swiss_fondue: mit LWP für verschiedene GET Requests Header auswerten

îch will eine abfrage für eine seite www.test.de/dokid=x starten und die antwort auswerten. Dies z.B. für x=1-10. Die header antwort soll mir zeigen, ob ein pdf vorhanden ist oder nicht. Wenn ich die Variable x direkt in der abfrage wie hier definiere:

use strict;
use warnings;
use LWP::UserAgent;
my $url=LWP::UserAgent->new();
{
my $response =
$url->get
('http://www.test.de.ch/gaga.aspsx?ID=1',
'Cookie' => 'ASPSESSIONIDQSRCDADR=MPHANLFDEJCNFFIIIOFNEJKE');
my $header = '';
$header = $response->header('Content-Type');
if ($header eq 'application/pdf') {
print "ok\n";
} else {
print "shit\n"; }
}

klappt das ganz gut. In dem moment wo ich aber eine schleife mit "for" und der varaible definiere wird die antwort nicht mehr korrekt ausgewertet:

use strict;
use warnings;
use LWP::UserAgent;
my $url=LWP::UserAgent->new();
my $dokumentennummer = '';
for $dokumentennummer (7300..7330)
{
my $response =
$url->get
('http://www.test.de/gaga.aspsx?ID=$dokumentennummer',
'Cookie' => 'ASPSESSIONIDQSRCDADR=MPHANLFDEJCNFFIIIOFNEJKE');

my $header = '';
$header = $response->header('Content-Type');
if ($header eq 'application/pdf') {
print "ok\n";
} else {
print "shit\n"; }
}

wer sieht den Fehler?

  1. Hallo swiss_fondue!

    wer sieht den Fehler?

    Vielleicht da:

    my $dokumentennummer = '';  # <-- Zeile löschen:

      
    for my $dokumentennummer(7300..7330)  
    .  
    .  
    ('http://www.test.de/gaga.aspsx?ID=$dokumentennummer',  
    
    

    oder:

      
    for(7300..7330) {  
    .  
    .  
    ('http://www.test.de/gaga.aspsx?ID=$_,  
    .  
    .  
    .  
    
    

    print "shit: Ungetestet"; # ;)

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
  2. Hi,

    ('http://www.test.de/gaga.aspsx?ID=$dokumentennummer',

    Verwende " anstatt '.
    Innerhalb von ' werden Variablen nicht interpoliert, innerhalb von " schon.

    wer sieht den Fehler?

    Ich ;)

    mfG,
    steckl

    1. Klappt ...DANKE!!! Muss zugeben, dass ich mit Perl bis heute morgen nichts am hut hatte. Toll dass man so schnell hilfe bekommt. So sieht der kleine webfuzzer dann aus ...gibt zwar noch ne menge fehler wegen nicht initialisierter variablen (???) ...scheint aber am ergebnis nix zu ändern.

      --------------------------

      use warnings;
      use strict;

      use LWP::UserAgent;
      my $url=LWP::UserAgent->new();

      my ($dokumentennummer);
      $dokumentennummer = "";
      for $dokumentennummer (1..11000)

      {my $response =
      $url->get
      ("http://www.revisionsaufsichtsbehoerde.ch/bausteine.net/file/showfile.aspx?downdaid=$dokumentennummer&sp=D&domid=1063&fd=2",
      'Cookie' => 'ASPSESSIONIDQSRCDADR=MPHANLFDEJCNFFIIIOFNEJKE');

      open (DATA, ">>output.txt");

      my ($header);
      $header = "";
      $header = $response->header('Content-Type');

      my ($content);
      $content = "";
      $content = $response->header('Content-Lenght');

      if ($header eq 'application/pdf')
      {print DATA "PDF Dokument vorhanden mit der ID: $dokumentennummer\n";}

      elsif ($header eq 'text/html')
      {print DATA "HTML DokumentTML vorhanden mit der ID: $dokumentennummer\n";}

      elsif ($header eq 'application/vnd.ms-excel')
      {print DATA "XLS DokumentTML vorhanden mit der ID: $dokumentennummer\n";}

      else

      {print DATA "nichts zu finden unter $dokumentennummer\n"; }
      close (DATA);
      }

    2. Hallo steckl!

      Innerhalb von ' werden Variablen nicht interpoliert, innerhalb von " schon.
      »» wer sieht den Fehler?
      Ich ;)

      Ich sollte mich wirklich mehr konzentrieren ;)

      Viele Grüße aus Frankfurt/Main,
      Patrick

      --
      _ - jenseits vom delirium - _

         Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
      J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?