Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
Perl im Browser

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Programmieren - Allgemein
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
MartinHeuser
Gast





BeitragVerfasst am: 15. Aug 2001 16:49   Titel: Perl im Browser

Heiho...

Ich habe hier ein Programm das in der Shell supi läuft. Nun will ich es aber im Apachen laufen lassen. An der Laufzeit sehe ich, daß es läuft und ich lasse mir ein log erstellen das auch anzeigt, daß es läuft. Nu meldet mir der Browser immer einen internen Fehler.

Im Log beschwert sich der Apache, daß irgendein Header Bad ist. Hmm, klar habe ich gedacht und auch brav ein <html> usw. geprintet, das wars aber nicht. Was ist das für ein Header?

Gruß Martin


[Wed Aug 15 17:35:45 2001] [error] [client 212.42.248.15] Premature end of script headers: /web/cgi-local/watch.cgi
[Wed Aug 15 17:36:56 2001] [error] [client 212.42.248.15] malformed header from script. Bad header= Webtraf: /web/cgi-local/watch.cgi
[Wed Aug 15 17:39:43 2001] [error] [client 212.42.248.15] malformed header from script. Bad header=<html><head></head><body> : /web/cgi-local/watch.cgi
[Wed Aug 15 17:40:39 2001] [error] [client 212.42.248.15] malformed header from script. Bad header=<html>: /web/cgi-local/watch.cgi
[Wed Aug 15 17:41:27 2001] [error] [client 212.42.248.15] malformed header from script. Bad header=<html>: /web/cgi-local/watch.cgi
[Wed Aug 15 17:41:48 2001] [error] [client 212.42.248.15] malformed header from script. Bad header=<html>: /web/cgi-local/watch.cgi
 

bakunin



Anmeldungsdatum: 16.08.1999
Beiträge: 597
Wohnort: Lorsch (Südhessen)

BeitragVerfasst am: 15. Aug 2001 19:19   Titel: Re: Perl im Browser

Hi!

Keine Header angegeben? Also "Content-type: text/html" usw.?

Cheers,
Wolfgang
 
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen

MartinHeuser
Gast





BeitragVerfasst am: 16. Aug 2001 14:14   Titel: Re: Perl im Browser

Hmmm. Ne, nur die üblichen HTML Tags... Anders gesagt, ich habe noch nie Perl für den Browser geschrieben.

Worauf soll ich denn da achten?

Gruß Martin
 

Sebastian Ude
Gast





BeitragVerfasst am: 16. Aug 2001 14:24   Titel: Re: Perl im Browser

Könntest du das Script mal posten ?
 

MartinHeuser
Gast





BeitragVerfasst am: 16. Aug 2001 15:33   Titel: Re: Perl im Browser

Ja klar... momo

Also auf der Konsole läufts....

Gruß Martin



#!/usr/bin/perl

# -----------------------------------------------------------------
#
# Script zum Auswerten von Logfiles
#
# Author: Martin Heuser (martin.heuser@ndh.net)
# Datum: 17.06.2001
# Version: 0.9 b
#
# Nutzungsbedingungen: Mailware (Betreff bitte httpwatch.pl)
# Schicken Sie mir bitte eine EMail. Das Script ist an sich
# Freeware, ich moechte aber statistisch auswerten, wie schnell
# es weiter gegeben wird (wenn ueberhaupt ).
#
# Beschreibung:
# --------------
# Tool das die Welt nicht braucht.
#
# Dieses Script ist entstanden weil ich mir die Arbeitsweise von
# assoziativen Arrays anschauen wollte. Mann kann es universell
# anpassen. Im Zweifelsfall einfach mal ne nette EMail schreiben.
# -----------------------------------------------------------------


#
### Vorarbeiten und Hilfe
#

($me = $0) =~ s#.*/##;

sub Usage {

print ("
");
print ("httpwatch.pl V0.9b \'Perl 5\!\' \(17.06.2001\) Mailware
Syntax: $me [-h]


Alle Parameter sind im Script selbst einzustellen

Anwendungsbeispiele:
----------------------

\.\/httpwatch.pl \| mail \-s \"Die besten Surfer\" all\@firma.com
Schon surft keiner mehr dumm durchs Internet :\-\)


\.\/httpwatch.pl
So werden die Top 100 der aufgerufenen Websites sortiert nach Traffic ausgegeben

");

die ("Script normal beendet");
}

while ($ARGV[0] =~ /^-/) {
$_ = shift;
(/^-help$/ || /^-H$/ || /^-h$/ || /^--help$/) && &Usage;
system ("clear");
print ("Illegale Option: $me $_
");
&Usage;
}


#
### Globale Einstellungen und Variablen
#

open (httpdlog,"/var/squid/logs/access.log") || die "/var/squid/logs/access.log konnte nicht geöffnet werden
";
$counter1 = 0;
$counter2 = 0;

$datum = `date`;
@datum = split (" ",$datum);
$wtag = @datum[0];
$mon = @datum;
$tag = @datum;



#
### Hauptprogramm
#

while ($input = <httpdlog>) {
chop ($input);
@input = split " ", $input;

if (@input[9] eq "-") {
@input[9] = 0;
}

$umbau = @input[6];
$umbau =~ s/http:\/\///;
$umbau =~ s/ftp:\/\///;
$umbau =~ s/\/.*//;
@input[6] = $umbau;

$umbau2 = @input;
$umbau2 =~ s/\/.*//;
$umbau2 =~ s/[//;
@input = $umbau2;

if (@input[6] ne "troubadix.berlin.pixel.de" & @input eq $tag) {
$key = @input[0]." ".@input[6];
# $key = @input[6]; #Das ist blos ne debug Option
@bytes{$key} += @input[9];

$key2 = @input[0];
@bytes2{$key2} += @input[9];
}


}


foreach $k (sort {$bytes{$b} <=> $bytes{$a}} keys %bytes) {

$Parm1 = $k;
$Parm2 = $bytes{$k};
$counter1++;

if ($counter1 <= "20") {
write STDOUT;
}

}

print "


";

foreach $k2 (sort {$bytes2{$b} <=> $bytes2{$a}} keys %bytes2) {

$Parm3 = $k2;
$Parm4 = $bytes2{$k2};
$counter2++;

if ($counter2 <= "20") {
# print ("$Parm3 $Parm4
");
$Parm5 += $Parm4;
# write GESAMT;
}

}

#print ("-------------------------
");
#print (" $Parm5
");


#
### Ausgabeformate
#

format STDOUT_TOP=
Webtraffic Top 20 - Seite @<<
$%
Hier wird mal die Webnutzung ausgewertet. Es werden Logfiles
vom @< @<< durchgezaehlt. Viel Spass.
$tag,$mon
Aenderungen vorbehalten

Platz IP Adresse URL verblasene Bytes
-------------------------------------------------------------------------------------------

.

format STDOUT=
@<<<< @<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<<
$counter1,$Parm1, $Parm2
.

format GESAMT_TOP=
Gesamtverbrauch nach IP Adresse sortiert - Seite @<<
$%

Platz IP Adresse Bytes
--------------------------------------------------

.

format GESAMT=
@<<<< @<<<<<<<<<<<<<<<<< @<<<<<<<<<<<<
$counter2,$Parm3,$Parm4
.
 

MartinHeuser
Gast





BeitragVerfasst am: 16. Aug 2001 15:40   Titel: Re: Perl im Browser

Hmmm.. Da fehlen Zeichen... Lasst Euch von fehlenden Zeichen @input ist z.B. nur @input nicht irritieren.

Gruß Martin
 

ratte
Gast





BeitragVerfasst am: 16. Aug 2001 22:04   Titel: Re: Perl im Browser

lieber martin,

perl ist geil, dein posting nicht.

les' mal die hilfe, button oben

und mach eine vorschau, bevor du was postest.

sorry, so lese ich dein script nicht

ratte
 

Descartes
Gast





BeitragVerfasst am: 16. Aug 2001 22:32   Titel: Re: Perl im Browser

@martin
Pack mal dein komplettes Perl Listin in die [code]....[/code] Klammerung

Nicht vergessen dass etwas das in eckigen Klammern steht vom Forum hier ausgewertet wird; also meinarray[5] ersetzen durch meinArray\[5\]
 

MartinHeuser
Gast





BeitragVerfasst am: 17. Aug 2001 10:10   Titel: Re: Perl im Browser

Tjo.. Ich wollte jetzt eigendlich nicht den kompletten Code umbauen um ihn richtig im Forum anzeigen zu lassen. Wenn ihn jemand haben will, kann ich ihn auch als Mail verschicken.

Mich interessiert eher, warum der Browser die Ausgabe mit einem Bad Header quittiert. An der Laufzeit bis zum Fehler im Browser sehe ich, daß das Script auf jeden Fall ausgeführt wird. Nur an der Ausgabe hapert es.

Gruß Martin
 

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Programmieren - Allgemein Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy