Crack: cgis offline ansehen

Hallo an all, ich hoffe ihr könnt mir weiterhelfen.
Also, ich suche schon seit längerem ein Programm womit ich CGIs offline an meinem rechner sehen kann, damit ich sie nach fehlern durchstöbern kann, doch was brauche ich dazu und wo bekomme ich es her? Habe schon dieses komische OHTTPd aber weiß net wie das geht, lade mir gerade dieses sabar oder saber keine ahnung, weiß echt net wie das geht :(

    1. also danke, hab das mit dem OHTTPd geschafft, hab auch diesen perl dingens da aber, nun wirds komisch, wenn ich z.B. eine HTML datei mache mit dem Inhalt

      <a href="/cgi-bin/HWelt.pl">Hallo Welt zeigen</a>
      <meta http-equiv="refresh" content="3; URL=/cgi-bin/HWelt.pl">

      die greift dann auf das perl script zu das folgenden inhalt hat:

      #!/usr/bin/perl
      print "Content-type: text/html";
      print "<html><head></head><body>";
      print "Hallo Welt";
      print "</body></html>";

      dann öffnet der die perl datei nicht im explorer, sondern dann kommt das fenster womit man dateien aus dem internet runterläd. Ok, dann hab ich halt "Von diesem Ort aus starten" gewählt. Dann öffnet sich aber das dosfenster für keine sekunde und geht wieder zu. Warum?

      1. Hallo,

        #!/usr/bin/perl
        print "Content-type: text/html";
        print "<html><head></head><body>";
        print "Hallo Welt";
        print "</body></html>";

        dann öffnet der die perl datei nicht im explorer, sondern dann kommt das fenster womit man dateien aus dem internet runterläd. Ok, dann hab ich halt "Von diesem Ort aus starten" gewählt. Dann öffnet sich aber das dosfenster für keine sekunde und geht wieder zu. Warum?

        Weil dein HTML-Header falsch ist. So müßte es richtig heißen:
        print "Content-type: text/html\n\n";

        Oder noch besser:
        #!/usr/bin/perl

        use CGI qw(:standard);

        print header;

        Gruß
        Slyh

        1. Nee, sogar mit den \n\n gehts net! Kommt immer das fenster :(

        2. :( das geht trotzdem net :((

      2. Hi!

        #!/usr/bin/perl
        print "Content-type: text/html";
        print "<html><head></head><body>";
        print "Hallo Welt";
        print "</body></html>";

        da wirs du einen Internal server error bekommen! nach text/html gehören 2 Leerzeilen!

        dann öffnet der die perl datei nicht im explorer, sondern dann kommt das fenster womit man dateien aus dem internet runterläd. Ok, dann hab ich halt "Von diesem Ort aus starten" gewählt. Dann öffnet sich aber das dosfenster für keine sekunde und geht wieder zu. Warum?

        weil das script ausgeführt wird! Und zwar auf der Kommandozeile! gib mal bei Start->ausführen->"command" ein! Dann geh in dein cgi-bin Verzeichnis und gib dort ein:

        perl -w HWelt.pl

        So kannst du dein Script auf der Kommandozeile ausführen, und bekommst ev. Fehler / Warnings angezeigt. Auf der Kommandozeile sollte "Hallo Welt" stehen.

        Du musst aber auch deinem Webserver sagen, dass er pl-Dateien ausführen soll. Starte dazu deine oadmin.exe und kontrolliere unter "Standard-CGI" deine Verzeichnispfade !

        lg bernhard

        PS: du ersparst dir nächstes mal viele graue haare, wenn du erst mal ein bissl rumsuchst. Hier zum Beispiel ein netter Beitrag nur über Omnihttpd: http://www.teamone.de/selfaktuell/artikel/vhosts.htm

        1. Hi,

          nach text/html

          genauer: nach dem HTTP-Header

          gehören 2 Leerzeilen!

          _Eine_ Leerzeile, erzeugt durch _zwei_ aufeinanderfolgende Newlines ("\n").

          Cheatah

      3. print "Content-type: text/html";

        Diese Zeile ändern in:
         print "Content-type: text/html\n\n";

        Das ist aber nicht Dein primäres Problem...

        dann öffnet der die perl datei nicht im explorer, sondern dann kommt das fenster womit man dateien aus dem internet runterläd. Ok, dann hab ich halt "Von diesem Ort aus starten" gewählt. Dann öffnet sich aber das dosfenster für keine sekunde und geht wieder zu. Warum?

        Hallo,

        also, daß nach dem "runterladen" des Skriptes sich ein Dos-Fenster öffnet, ist schon mal ein Beweis dafür, daß Du das "perl dingens da" richtig installiert hast.
        Und das "Omnidingensda" ist auch installiert, sonst würde gar nichts gehen.

        Jetzt musst Du dem Omnidingens nur noch sagen, was es mit den .pl Dingensdateien machen soll. Er soll sie nämlich an das perl dingens da schicken, und dieses perl dingens da antwortet in Textform an das Omnidingens und das Omnidingens gibt das dann weiter an Deinen Browser... (ist das auch ein Dingens? Explodingens? Dingens-Expl*rer?). Du musst also nur noch dem Omnidingens sagen, wo das Perldingens ist.

        Im Klartext: Du musst in den Einstellungen von Omni-Httpd einstellen, daß .pl-Dateien von Perl.exe verarbeitet werden sollen - in dem Zuge gibst Du auch an, wo Perl.exe überhaupt ist.

        Grüße, Vedat

        1. Hi,

          also, daß nach dem "runterladen" des Skriptes sich ein Dos-Fenster öffnet, ist schon mal ein Beweis dafür, daß Du das "perl dingens da" richtig installiert hast.

          "Befehl oder Dateiname nicht gefunden."

          Du kannst gar nicht so schnell schauen, wie diese Meldung wieder verschwindet.

          Cheatah

  1. Hi!

    Ich hatte erst kürzlich auch den Wunsch mir meine Scripte offline anzusehen, deshalb
    kann ich dir weiterhelfen, da es bei mir mitlerweile klappt.

    Ich benutze jetzt auch den Ohttp. Du mußt dir aber noch den Perl Interpreter besorgen, sonst kann das auch nicht klappen:
    Den findest du bei http://www.activestate.com (Die Seite ist etwas unübersichtlich, aber suche nach dem Download für ActivePerl.

    Perl installierst du dann am besten unter c:\perl.

    In den scripten mußt du dann folgenden Pfad für Perl angeben:
    #! usr/local/bin/perl

    In Ohttpd muß du jetzt eigentlich dahingehend nichts mehr konfigurieren.

    Also -wie gesagt - bei mir hats so geklappt, deshalb hoffe ich dir weitergeholfen zu haben.

    Servus!

    1. Hi!

      *g* heute isses ja echt lustig hier, ein posting ulkiger als das andere :-)))

      offline "ansehen" kannst du dir die Scripte mit jedem beliebigen Texteditor á la Notepad. Was du dort siehst nennt sich Source-Code ;-)

      Ich benutze jetzt auch den Ohttp. Du mußt dir aber noch den Perl Interpreter besorgen, sonst kann das auch nicht klappen:

      Sogar mit garantie wird das nicht klappen! Man kann Perl-scripts nur ausführen, wenn der zugehörige Interpreter installiert ist, der mit den scripts dann was anfangen kann, sonst ist die *.pl datei auf deinem rechner im Grunde gleich viel "wert" wie die C:\Windows\readme.txt ... tausende zeilen Ascii-zeichen, mit denen man nix anfangen kann ;-)

      Perl installierst du dann am besten unter c:\perl.

      jepp, das stimmt, und die Doku zum einlernen kommt auch gleich mit, findet sich dann unter c:\perl\html\index.html

      In den scripten mußt du dann folgenden Pfad für Perl angeben:
      #! usr/local/bin/perl

      für omnihttpd ist das wurscht, das brauchst nur für deinen Provider, da die meist mit Linux/Unix-Servern arbeiten. Und in diesen Betriebssystemen, gibt die erste Zeile eines scripts immer den Pfad zum Interpreter an, der dieses script "interpretieren" soll.

      Wenn dann würd da schon gehören: #! c:/perl -- der Apache braucht das zum beispiel. Ausserdem ist das nicht gerade der Standardpfad: /usr/bin/perl wird meistens verwendet!

      Für OmniHTTPd ist es wurscht, da kann auch #! Hallo Burschi! drinstehen.

      Also -wie gesagt - bei mir hats so geklappt, deshalb hoffe ich dir weitergeholfen zu haben.

      Was nahezu an ein wunder grenzt *g* ;-) http://www.teamone.de/selfhtml/tgba.htm

      lg Bernhard

      PS: Das "komische OHTTPd" nennt sich übrigens "Webserver", und hat mit einem "Programm zum Ansehen von CGI-Scripts" nicht sehr viel gemeinsam! Eher mit dem Ausführen dergleichen ;-)

      PPS: Bin dafür sowas ähnliches wie selfmail für besonders erheiternde threads einzurichten! Vielleicht mit einem zweiten Vote-Button "Vote for SelfThread" oder so ;-)

      1. Hi,

        offline "ansehen" kannst du dir die Scripte mit jedem beliebigen Texteditor á la Notepad.

        richtig. Um das Script auszuführen und das Ergebnis im Browser anzusehen, _muß_ ein Server einbezogen sein - auch wenn der lokal ist - und schon ist man online.

        Vielleicht nicht der Rechner, aber auf jeden Fall der Browser.

        Ich benutze jetzt auch den Ohttp.

        Btw: Da Du "im Netz" vermutlich einen Apache verwenden wirst, ist es extrem empfehlenswert, diesen auch lokal zu installieren. Die Konfiguration ist nicht Klicki-Bunti, aber die httpd.conf ist hervorragend dokumentiert.

        Download: http://www.apache.org/

        Perl installierst du dann am besten unter c:\perl.

        jepp, das stimmt,

        NACK, stimmt nicht ;-)

        Perl installiert man am besten unter C:\usr (oder ggf. C:\usr\local), denn dann ist die Shebang unter Windows und Unix gleich.

        #! usr/local/bin/perl

        Ich bezweifele nicht nur, sondern bedreifele sogar, daß relativ zum aktuellen Verzeichnis (was immer das im CGI-Kontext ist) ein "usr/local/bin/perl" existiert. Was Du meinst ist

        #! /usr/local/bin/perl

        Der führende Slash ist _immens_ wichtig. Ohne ihn ist die Angabe so sinnvoll wie "#! bra, bra, das Perl das ist nicht da".

        PPS: Bin dafür sowas ähnliches wie selfmail für besonders erheiternde threads einzurichten! Vielleicht mit einem zweiten Vote-Button "Vote for SelfThread" oder so ;-)

        ACK, ACK :-)

        Cheatah

        1. Hi!

          richtig. Um das Script auszuführen und das Ergebnis im Browser anzusehen, _muß_ ein Server einbezogen sein - auch wenn der lokal ist - und schon ist man online.

          Hoffentlich hat er schon mal was von 127.0.0.1 gehört ;-)

          Btw: Da Du "im Netz" vermutlich einen Apache verwenden wirst, ist es extrem empfehlenswert, diesen auch lokal zu installieren. Die Konfiguration ist nicht Klicki-Bunti, aber die httpd.conf ist hervorragend dokumentiert.

          ein kräftiges *ggg* auf den letzten Satzteil :o))))) Übrigens: Apache in der aktuellen .msi Variante ist ebenso buzileicht zu installieren wie ein Omni, der läuft wie nix, gleich vom Start weg!

          NACK, stimmt nicht ;-)

          Perl installiert man am besten unter C:\usr (oder ggf. C:\usr\local), denn dann ist die Shebang unter Windows und Unix gleich.

          Ich glaub kaum dass er soviel rumprogrammieren wird, als dass ihm das echten Nutzen bringt. Und ein /usr will ich auf meinem schönen Win2000 nicht sehen, das kommt mir nicht in die heiligen hallen meiner treuen C: -- das würd mir jedesmal Explorerstarten das herz brechen ;-)

          #! /usr/local/bin/perl

          Der führende Slash ist _immens_ wichtig. Ohne ihn ist die Angabe so sinnvoll wie "#! bra, bra, das Perl das ist nicht da".

          Soll heissen lieber Crack ;-) dass man im Linux/Unix mit / das root verzeichnis anspricht, also quasi von oben beginnt mit dem absteigen in die Kindverzeichnisse, während du ohne Slash im aktuellen Verzeichnis mit dem absteigen beginnst!

          PPS: Bin dafür sowas ähnliches wie selfmail für besonders erheiternde threads einzurichten! Vielleicht mit einem zweiten Vote-Button "Vote for SelfThread" oder so ;-)

          ACK, ACK :-)

          Heisst das ja? Der und der Thread darunter haben mich nämlich heute meine ziemlich knifflige Prüfung morgen vergessen lassen, und meine Nervosität ausm Haus gejagt :o)

          lg bernhard

          1. Hi,

            Hoffentlich hat er schon mal was von 127.0.0.1 gehört ;-)

            wieso, macht der ungefragt 'ping'? ;-)

            Btw: Da Du "im Netz" vermutlich einen Apache verwenden wirst, ist es extrem empfehlenswert, diesen auch lokal zu installieren. Die Konfiguration ist nicht Klicki-Bunti, aber die httpd.conf ist hervorragend dokumentiert.

            ein kräftiges *ggg* auf den letzten Satzteil :o)))))

            Hm, gewöhnlich schreibe ich an der Stelle 'kommentiert' statt 'dokumentiert'... :-)

            Übrigens: Apache in der aktuellen .msi Variante ist ebenso buzileicht zu installieren wie ein Omni, der läuft wie nix, gleich vom Start weg!

            Danke für den Hinweis, das wußte ich noch nicht. Sollte ich mich jemals dazu herablassen, mein System dergestalt zu vergenußwurzeln, daß es mit '.msi' ernsthaft etwas anfangen kann, werde ich es eventuell sogar ausprobieren :-) Aber zu Empfehlungszwecken ist das gut zu wissen.

            Perl installiert man am besten unter C:\usr (oder ggf. C:\usr\local), denn dann ist die Shebang unter Windows und Unix gleich.

            Ich glaub kaum dass er soviel rumprogrammieren wird, als dass ihm das echten Nutzen bringt.

            Die Konfiguration des Apache ist auf jeden Fall einfacher.

            Und ein /usr will ich auf meinem schönen Win2000 nicht sehen, das kommt mir nicht in die heiligen hallen meiner treuen C: -- das würd mir jedesmal Explorerstarten das herz brechen ;-)

            Dir vielleicht - mir gab es einen Touch von Linux ;-) und wenn jemand nur selten programmiert, wird er erfahrungsgemäß auch nichts gegen "C:\Programme\Name des tollen Spiels" oder gar "C:\Name der tollen Firma\Name des tollen Spiels" haben...

            PPS: Bin dafür sowas ähnliches wie selfmail für besonders erheiternde threads einzurichten!

            ACK, ACK :-)

            Heisst das ja? Der und der Thread darunter haben mich nämlich heute meine ziemlich knifflige Prüfung morgen vergessen lassen, und meine Nervosität ausm Haus gejagt :o)

            Okay, dann lese ich den jetzt doch noch durch... :-)

            Cheatah