Perlscript arbeitet auf Website nicht richtig

Post Reply
Message
Author
darkman
Posts: 30
Joined: 31. Jan 2001 18:56
Location: Fröndenberg

Perlscript arbeitet auf Website nicht richtig

#1 Post by darkman »

Hi

Ich habe mir ein Perlscript geschrieben das mich automatisch in Internet einloggen soll.
Dazu muß nur noch auf einen Link in meinem Browser klicken.
Das klappt auch, allerdings bleibt das Script nach der Anwahl noch im Prozzesbaum obwohl es
sich beenden sollte und im Browser sieht es so aus als ob es noch auf etwas wartet.
( Er wird mit der Seite einfach nicht fertig )

Hier das Script:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">
#!/usr/bin/perl
#
# Aufruf von wvdial zum einloggen ins Internet
#
system("wvdial &");
print "Internet gestartet \<!--no-->n";

#ende
</font><hr></pre></blockquote>

Fehlt das vieleicht noch was ???
Ich hoffe ihr habt mehr Ahnung von Perl als ich ;)

Danke im voraus
Martin

djrom
Posts: 4
Joined: 02. Aug 2001 18:31

Re: Perlscript arbeitet auf Website nicht richtig

#2 Post by djrom »

also wenn ich das richtig verstanden habe willst du einfach bloß das script beenden ?!

versuchs mal mit
die "hier eine beliebige abschiedsmsg:)";

und er stirbt ;)
Warum durch das Fenster klettern wenn die Tür offen steht ?

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Perlscript arbeitet auf Website nicht richtig

#3 Post by bakunin »

Hi!

Verrätst du uns auch ein paar weitere Details? Z.B. ob es ein CGI-Script handelt und wie genau es aufgerufen wird und welchen Webserver du verwendest (vermutlich Apache?) etc.

djrom schrieb:
> die "hier eine beliebige abschiedsmsg:)";

Clever, damit erzeugst du einen Internal Server Error, falls das ein CGI-Script war.

Cheers,
Wolfgang

darkman
Posts: 30
Joined: 31. Jan 2001 18:56
Location: Fröndenberg

Re: Perlscript arbeitet auf Website nicht richtig

#4 Post by darkman »

Hi

Ja ich verwende den Apache Webserver.
Das Script starte ich einfach als Link auf der Website

Du hast was von Internal Server Error geschrieben.
Genau den bekomme ich wenn ich das Internet beende.
Das mache ich auch über einen Link mit einem Perlscript dahinter (script okay !)


Das größte Problem ist wohl, das ich in Sachen Perl,CGI noch totaler Newbie bin und deshalb etwas(mehr) probleme damit habe. ;)

Gruss
Martin

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Perlscript arbeitet auf Website nicht richtig

#5 Post by bakunin »

Hi!

> Das größte Problem ist wohl, das ich in Sachen Perl,CGI noch totaler Newbie bin und deshalb etwas(mehr) probleme damit habe. ;)

Ah, also ist es ein CGI-Script, ja? D.h. es liegt auch im passenden Verzeichnis etc.?

> Du hast was von Internal Server Error geschrieben. Genau den bekomme ich wenn ich das Internet beende. Das mache ich auch über einen Link mit einem Perlscript dahinter (script okay !)

Dann schau doch mal in die error.log des Apache (habe schon Systeme erlebt, auf denen sie error_log hieß). Liegt wohl irgendwo unterhalb von /var/log.

Cheers,
Wolfgang

hugenay

Re: Perlscript arbeitet auf Website nicht richtig

#6 Post by hugenay »

was soll denn der arme browser machen, nachdem er das cgi skript ausgefuehrt hat? Du musst ihn schon etwas output zurueckliefern lassen an den browser, also ran: print"<html>" usw.

hugenay

Re: Perlscript arbeitet auf Website nicht richtig

#7 Post by hugenay »

's/ihn/das Skript/g' macht mehr sinn: gruss hug.

bakunin
Posts: 597
Joined: 16. Aug 1999 6:44
Location: Lorsch (Südhessen)
Contact:

Re: Perlscript arbeitet auf Website nicht richtig

#8 Post by bakunin »

Hi!

Der Browser führt kein CGI-Script aus, das macht der Webserver. Der Browser bekommt gar nicht mit, dass da irgendwo ein Script ausgeführt wird, er bekommt die Daten genau wie beim abrufen statischer Seiten.

Und ein CGI-Script sollte zuerst die passenden Header ausgeben, bevor es die Entität liefert, also zuerst ein

print "Content-type: text/plain

"

Wenn man eine HTML-Datei liefert, dann ist der MIME-Typ natürlich text/html. Ich kenne selbst wvdial nicht, aber mal eine Frage dazu: Beendet sich das nach dem Aufruf von selbst oder läuft das weiter? Wenn es weiterläuft, dann ist das Verhalten des Browsers nicht verwunderlich, da wvdial die Standardausgabe von seinem Elternprozess erbt und somit noch Daten erzeugen könnte, die dann an den Browser geliefert würden. Solange wvdial läuft, wird der Browser daher noch auf weitere Daten warten. Eine Lösung dürfte dann sein, die Ausgabe von wvdial nach /dev/null zu leiten, damit der Filedeskriptor geschlossen wird, über den Daten an den Browser geschickt werden.

Cheers,
Wolfgang

darkman
Posts: 30
Joined: 31. Jan 2001 18:56
Location: Fröndenberg

Re: Perlscript arbeitet auf Website nicht richtig

#9 Post by darkman »

Hi

Danke für die vielen Tips es läuft jetzt so wie es soll.

Gruss
Martin

hugenay

Re: Perlscript arbeitet auf Website nicht richtig

#10 Post by hugenay »

Der Browser führt kein CGI-Script aus, das macht der Webserver. Der Browser bekommt gar nicht mit, dass da irgendwo ein Script ausgeführt wird, er bekommt die Daten genau wie beim abrufen statischer Seiten.
[\quote]

sorry, war von mir (mindestens) sehr ungenau <img src="http://www.pl-forum.de/UltraBoard/Images/Wilk.gif" border="0" align="middle"> Bei meinen Cgi Efrahrungen lag das Problem meist im letzten Teilsatz. Der Browser muss eben auch Daten zurueckkriegen.

Post Reply