Thread Ausgabe eines URLs parsen (12 answers)
Opened by perl-snaks at 2012-04-19 10:58

perl-snaks
 2012-04-23 17:05
#157782 #157782
User since
2012-04-19
54 articles
BenutzerIn
[default_avatar]
Vielen Dank für Ihre Antwort.

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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
!C:\Perl\bin\Perl.exe
[/c]print "Content-type:text/html\n\n";

use CGI;
use CGI::Carp qw(fatalsToBrowser);
use XML::Parser;


my $cgi = new CGI;
my $var = CGI:aram('ip');

my $url1 = 'https://www.xxyyzz.de/'; ### url
my $uri = "$url1?ref=$var& save_report=yes" ;
print "Location: $uri\n\n";

 #### es gibt eine HTML-Seite mit einem Inputfeld nach der eingabe des Referenzes
# wird in der URL
# übermittelt und ganze URL an den Server des Hertsteller geleitet, so dass der server anhand des eingegeben Referenz
# ein Report als XMl zur Verfügung stellt.




Bis hier hin bekomme ich eine XML-Ausgabe. 

Ich will jetzt die Ausgabe des "print "Location: $uri\n\n";" in einem verzeichnis zwischen speichern:

open(KIRSCHE,">>c:/Programme/Apache/cgi-bin/grab.xml"); ####XML Ausgabe soll in dieser Datei gespeichert
select(KIRSCHE);

print KIRSCHE $doc;
select(STDOUT);

close(KIRSCHE);


DIe XMl datei "grab.xml" mittels XML::parser zu html umwandeln:

my $zeiger = new XML::Parser (); ######die gespeicherte Datei parsen

$zeiger->setHandlers (
Start => \&anfang,
End => \&ende,Char=>\&inhalt );
$zeiger->parsefile ("grab.xml");

print "<html><head><body>";


sub inhalt 
{
($wert_des_zeigers,$inhalt)=@_;
print " <table><td>$inhalt</td></table>";
}

sub ende
{
%watnu2=("SCAN"=>"</table>","KEY"=>
"</td>","IP"=>"</td>","OS"=>"</td>","NETBIOS_HOSTNAME"=>"</td></tr>");
($wert_des_zeigers,$endtag) = @_;
print "$watnu2{$endtag}";
}

sub anfang 
{
%watnu1=("SCAN"=>"</table>","KEY"=>
"</td>","IP"=>"</td>","OS"=>"</td>","NETBIOS_HOSTNAME"=>"</td></tr>");

$wert_des_zeigers = shift;
$starttag=shift;
print $watnu1{$starttag};
print "\n";
}



Vielen Dank im Voraus
Last edited: 2012-04-23 17:09:32 +0200 (CEST)

View full thread Ausgabe eines URLs parsen