Thread WWW::Mechanize (::Firefox) Formularergebnis auswerten (18 answers)
Opened by jan_Gast at 2012-11-26 14:38

Gast jan_Gast
 2012-11-27 09:39
#163630 #163630
Moin. Der Inhalt von content ist der gesamte Webseiten-Sourcecode und damit etwas zu viel, da dort sehr lange Auswahlfelder zusammengebaut werden. Das sind hunderte Zeilen. Könnte ich machen, würde aber sicherlich den Rahmen hier sprengen.

Ich habe zur weiteren Analyse mal die ganze Aktion mit Firefox-LiveHTTPHeaders mitgeschnitten und siehe da, es wird das gleiche übertragen:

Block 1: Wenn man manuell mit der Maus auf den Button drückt, kommt:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
https://www.insolvenzbekanntmachungen.de/cgi-bin/bl_suche.pl

POST /cgi-bin/bl_suche.pl HTTP/1.1
Host: www.insolvenzbekanntmachungen.de
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: https://www.insolvenzbekanntmachungen.de/cgi-bin/bl_suche.pl
Content-Type: application/x-www-form-urlencoded
Content-Length: 383
Suchfunktion=uneingeschr&Absenden=Suche+starten&Bundesland=--+Alle+Bundesl%E4nder+--&Gericht=--+Alle+Insolvenzgerichte+--&Datum1=&Datum2=&Name=&Sitz=&Abteilungsnr=&Registerzeichen=IN&Lfdnr=&Jahreszahl=--&Registerart=--+keine+Angabe+--&select_registergericht=&Registergericht=--+keine+Angabe+--&Registernummer=&Gegenstand=Sicherungsma%DFnahmen&matchesperpage=100&page=1&sortedby=Datum
HTTP/1.1 200 OK
Date: Tue, 27 Nov 2012 08:27:47 GMT
Server: Apache
Keep-Alive: timeout=5, max=30
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html


Block 2: Wenn man das Perl-Programm aufruft, kommt erst die Suchseite in Firefox:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
https://www.insolvenzbekanntmachungen.de/cgi-bin/bl_suche.pl

GET /cgi-bin/bl_suche.pl HTTP/1.1
Host: www.insolvenzbekanntmachungen.de
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive

HTTP/1.1 200 OK
Date: Tue, 27 Nov 2012 08:27:56 GMT
Server: Apache
Content-Length: 36379
Keep-Alive: timeout=5, max=30
Connection: Keep-Alive
Content-Type: text/html


Block 3: und dann wird die 2. Seite mit der Ergebniliste geöffnet.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
https://www.insolvenzbekanntmachungen.de/cgi-bin/bl_suche.pl

POST /cgi-bin/bl_suche.pl HTTP/1.1
Host: www.insolvenzbekanntmachungen.de
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20100101 Firefox/16.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive
Referer: https://www.insolvenzbekanntmachungen.de/cgi-bin/bl_suche.pl
Content-Type: application/x-www-form-urlencoded
Content-Length: 383
Suchfunktion=uneingeschr&Absenden=Suche+starten&Bundesland=--+Alle+Bundesl%E4nder+--&Gericht=--+Alle+Insolvenzgerichte+--&Datum1=&Datum2=&Name=&Sitz=&Abteilungsnr=&Registerzeichen=IN&Lfdnr=&Jahreszahl=--&Registerart=--+keine+Angabe+--&select_registergericht=&Registergericht=--+keine+Angabe+--&Registernummer=&Gegenstand=Sicherungsma%DFnahmen&matchesperpage=100&page=1&sortedby=Datum
HTTP/1.1 200 OK
Date: Tue, 27 Nov 2012 08:27:59 GMT
Server: Apache
Keep-Alive: timeout=5, max=29
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html


Da steht genau das gleiche drin, an dem Aufruf der Seite kann es also eigentlich nicht liegen.

Ich glaube nach wie vor, dass es eine andere Ursache haben muss: Wenn man mit diesen Perl-Modulen eine Anfrage startet, dann wird ja i.d.R. nach Absenden des Formulars die Ergebnisliste zurückgeschickt, und das Suchformular ist weg (oder noch Teil des Ergebnis) - es gibt aber nur eine Seite für den Perl-Agent und damit auch nur ein Ergebnis, das weiter bearbeitet werden kann.

In dem vorliegenden Beispiel verschwindet das Suchformular aber nicht sondern bleibt bestehen und das Ergebnis wird ZUSÄTZLICH angezeigt. Damit gibt es für Perl danach "zwei" Fenster oder Datenströme zum Bearbeiten und ich komme bisher nur an den "aufrufenden" aus dem Suchformular dran. Da liegt glaube ich der Hund begraben - aber ich kann mich auch irren.

Bin Dir (und anderen) für weitere Tips dankbar, Gruß Jan
Last edited: 2012-11-27 10:02:28 +0100 (CET)

View full thread WWW::Mechanize (::Firefox) Formularergebnis auswerten