wolfgang b.: cgi funktion wie php header() ?

hallo,
ich bin gerade am cgi/perl lernen und würder gern wissen ob es so etwas gibt womit ich eine neue url aufrufen kann. also zum beispiel bei php:
<?
header("Location: http://$user:$pw@www.domain.de/secure");
?>

kann ich so etwas auch mit cgi machen?

  • w.b. -
  1. hi!

    ich bin gerade am cgi/perl lernen und würder gern wissen ob es so
    etwas gibt womit ich eine neue url aufrufen kann. also zum
    beispiel bei php:
    <?
    header("Location: http://$user:$pw@www.domain.de/secure");
    ?>
    kann ich so etwas auch mit cgi machen?

    print "Location: http://$user:$pw@www.domain.de/secure/\n\n";

    Du musst deine Header eben selbst ausgeben, dafür gibt es keine
    eigene Funktion. Du musst dann allerdings darauf achten, dass du
    vorher noch nichts ausgegeben hast, dass du jeden Header mit einem
    \n-Zeichen vom anderen trennst, und dass du den Rest der Seite von
    den Headern durch eine Leerzeile, also \n\n nach dem letzten Header,
    abtrennst.

    bye, Frank!

  2. Hi,

    ich bin gerade am cgi/perl lernen

    dann solltest Du insbesondere

    perldoc CGI

    lesen.

    und würder gern wissen ob es so etwas gibt womit ich eine neue url aufrufen kann.

    #!/usr/bin/perl -w
    use strict;
    use CGI ':standard';
    print redirect('http://bla.de/');

    Im CGI-Modul ist übrigens auch eine header-Methode implementiert.

    header("Location: http://$user:$pw@www.domain.de/secure");

    ARGH! Das möchtest Du _nicht_ machen! Derart defekte URLs[1] irgendwo als Link unterzubringen ist schon schlimm genug, obwohl die meisten im Einsatz befindlichen Clients den Schotter entweder in korrekte HTTP-Header umwandeln, oder den Download der URL verweigern; aber hier jagst Du
                            _               _ _            __ _
                   ___  ___| |__   __ _  __| | |__   __ _ / _| |_ ___
                  / __|/ __| '_ \ / _ |/ \_ | '_ \ / _` | |_| __/ _ \               \_ \ (__| | | | (_| | (_| | | | | (_| |  _| ||  __/
                  |___/\
    __|_| |_|\_,_|\_,_|_| |_|\_,_|_|  \_\___|

    ____        _                           _             _ _           _
       |  _ \  __ _| |_ ___ _ __    _   _ _ __ | | _____   __| (_) ___ _ __| |_
       | | | |/ _ | \_\_/ \_ \ '\_ \  | | | | '\_ \| |/ / \_ \ / \_ | |/ _ \ '__| __|
       | |_| | (_| | ||  __/ | | | | |_| | | | |   < (_) | (_| | |  __/ |  | |_
       |____/ \_,_|\_\__|_| |_|  \_,_|_| |_|_|\\__/ \_,_|_|\__|_|   \__|

    _                _     _
                 __ _ _   _  ___ _ __    __| |_   _ _ __ ___| |__ ( )___
                / _ | | | |/ \_ \ '\_\_|  / \_ | | | | '__/ __| '_ |// __|
               | (_| | |_| |  __/ |    | (_| | |_| | | | (__| | | | \_ \             \_, |\_,_|\__|_|     \_,_|\_,_|_|  \__|_| |_| |___/
                   |_|
                                  _   _      _       _
                                 | \ | | ___| |_ ___| |
                                 |  | |/ _ \ __|_  / |
                                 | |\  |  __/ |_ / /|_|
                                 |_| \
    |\__|\_/___(_)

    Du widersprichst damit *aktiv* RFC 1738[1] und bist ggf. für Schäden an Fremdsystemen *persönlich* verantwortlich!

    Abgesehen davon können bereits diverse auch neuere IE-Versionen den Schrott nicht mehr umwandeln, so daß nicht mal das beliebte "ja, aber die meisten"-Pseudoargument zieht.

    Cheatah

    [1] RFC 1738, http://www.ietf.org/rfc/rfc1738.txt, Sektion 3.3 "HTTP-URLs":
        "No user name or password is allowed."

    1. Hi Cheatah!

      _               _ _            __ _
                     ___  ___| |__   __ _  __| | |__   __ _ / _| |_ ___
                    / __|/ __| '_ \ / _ |/ \_ | '_ \ / _` | |_| __/ _ \               \_ \ (__| | | | (_| | (_| | | | | (_| |  _| ||  __/
                    |___/\
      __|_| |_|\_,_|\_,_|_| |_|\_,_|_|  \_\___|

      ____        _                           _             _ _           _
         |  _ \  __ _| |_ ___ _ __    _   _ _ __ | | _____   __| (_) ___ _ __| |_
         | | | |/ _ | \_\_/ \_ \ '\_ \  | | | | '\_ \| |/ / \_ \ / \_ | |/ _ \ '__| __|
         | |_| | (_| | ||  __/ | | | | |_| | | | |   < (_) | (_| | |  __/ |  | |_
         |____/ \_,_|\_\__|_| |_|  \_,_|_| |_|_|\\__/ \_,_|_|\__|_|   \__|

      _                _     _
                   __ _ _   _  ___ _ __    __| |_   _ _ __ ___| |__ ( )___
                  / _ | | | |/ \_ \ '\_\_|  / \_ | | | | '__/ __| '_ |// __|
                 | (_| | |_| |  __/ |    | (_| | |_| | | | (__| | | | \_ \             \_, |\_,_|\__|_|     \_,_|\_,_|_|  \__|_| |_| |___/
                     |_|
                                    _   _      _       _
                                   | \ | | ___| |_ ___| |
                                   |  | |/ _ \ __|_  / |
                                   | |\  |  __/ |_ / /|_|
                                   |_| \
      |\__|\_/___(_)

      Wow, womit hast Du das gemacht? Gibt es da irgendein ASCII-Programm?

      VG Simon

      1. Hi,

        Wow, womit hast Du das gemacht? Gibt es da irgendein ASCII-Programm?

        ___  __         _    __        _            __    ___  __         _    __
         / / |/ /___  ___| |__ \ \      | | __ _     / /   / / |/ /___  ___| |__ \ \ / /| ' // _ / __| '_ \ \ \  _  | |/ _` |   / /   / /| ' // _ / __| '_ \ \ \ \ | . \ (_) \_ \ | | |/ / | |_| | (_| |_  \ \  / / | . \ (_) \_ \ | | |/ /
         \\|\\__/|___/_| |_/_/   \__/ \_,_(_)  \/_/  |_|\\___/|___/_| |_/_/

        ;-)

        Cheatah

        P.S.: Suche nach "figlet" ;-)