xNeTworKx: Wie kann ich Location verwenden ?

Hallo,
Wie kann ich mittels Location umleiten. Ich weis leider nicht wie die Synthax dazu aussieht.

P.S. $query->redirect will ich nicht verwenden, da ich ein Cookie setzte und ich die Meldung :
Status: 302 Moved Location: http://www.usw.usw
bekomme.

  1. Hallo,
    Wie kann ich mittels Location umleiten. Ich weis leider nicht wie die Synthax dazu aussieht.

    print "Content-Type: text/html\n";
    print "Location: $url";

    Man beachte das einmalige '\n'.

    gruß
    alex

    1. Hallo,
      Wie kann ich mittels Location umleiten. Ich weis leider nicht wie die Synthax dazu aussieht.

      print "Content-type: text/html\n";
      print "Location: $url";

      type bitte kleinschreiben, dann funzt es auf jeden Fall...

      gruß
      alex

      1. Hallo,
        das Problem is, ich habe davor ein :
        print $query->header(-cookie=>$cookie);
        stehen, da ich ein Cookie setzte.
        Das print $query->header is ja das ärgerliche, da es bereits einen Header setzt. Wie schauen jetzt meine Möglichkeiten aus ?
        #!/usr/bin/perl -w

        use CGI;
        $query = new CGI;

        $cookie = $query->cookie(-name=>'Testcookie',
                       -value=>'on',
                       -expires=>'+1h',
                       -path=>'/');
        print $query->header(-cookie=>$cookie);
        print "Location: http://www.usw.usw\n\n";

  2. Hallo,
    Wie kann ich mittels Location umleiten. Ich weis leider nicht wie die Synthax dazu aussieht.

    Yo,

    sach einfach

    print "Location: http://www.beispielurl.de\n\n";

    man beachte die 2 linefeeds, und keinen Header vorher ausgeben!
    (das ist nämlich ein Header)

    Wenn du Content-type: text/html vorher ausgibst, dann wird nicht umgeleitet. Stattdessen siehst du die Ausgabe im Browser:

    Location: http://www.beispielurl.de

    Ciao
    Cruz

  3. Hoi,

    Wie kann ich mittels Location umleiten. Ich weis leider nicht wie die
    Synthax dazu aussieht.

    Da meine Vorredner sich nicht gerade mit Ruhm bekleckert haben, poste ich hier
    auch mal:

    Um umzuleiten, musst du dem Browser auch sagen, dass er umleiten soll. Das machst
    du ueber den Status-Header. Dazu kannst du entweder 301 oder 302 benutzen,
    du wirst wahrscheinlich 302 wollen (temporarily moved). Der Location-Header
    sagt dann nur, wohin.

    Daraus folgt:

    Status: 302
    Content-Type: text/html
    Location: url

    Meldungs-Text

    Haeufig reicht auch nur der Location-Header, aber nicht in allen Browsern. Auch
    der Meldungs-Text wird uU vom Apachen generiert.

    Gruss,
     CK

    1. Hallo,

      Status: 302
      Content-Type: text/html
      Location: url

      danke für die Antwort, ich bin leider kein Perl Profi und weis somit nicht, wie ich das in dem Code einsetzen soll ?

      #!/usr/bin/perl -w

      use CGI;
      $query = new CGI;

      $cookie = $query->cookie(-name=>'Testcookie',
                     -value=>'on',
                     -expires=>'+1h',
                     -path=>'/');
      print $query->header(-cookie=>$cookie);

      1. Hallo [kompliziertenNameneinsetzen],

        Wenn Du 'perldoc CGI' aufmerksam gelesen hättest, dann wärest Du vielleicht von selbst
        darauf gekommen, wie man einen beliebigen HTTP-Header mit der Methode header() erzeugen kann :)

        The last example shows the named argument style for passing arguments to the CGI
         methods using named parameters. Recognized parameters are -type, -status,
         -expires, and -cookie. Any other named parameters will be stripped of their initial
         hyphens and turned into header fields, allowing you to specify any HTTP header you
         desire. Internal underscores will be turned into hyphens:

        print $query->header(-Content_length=>3002);

        Ich denke, nun kommst Du alleine drauf, wie man z.B. einen HTTP-Header "Location: http://...\n"
        generieren kann (REPRISE). :)

        Gruß Alex
        --
        http://www.google.de/search?hl=de&safe=off&q=Rechtschreibung+Standart

        1. Hallo,
          es is ja nicht so, daß ich überhaupt nicht selber nachdenken würde, is nicht meine Art anderen das denken zu überlassen, aber ich schlag mich jetzt 6 Wochen !!! mit diesem wirklich lecherlichen Problem herum, und wenn ich EINMAL ein konkretes Beispiel haben würde, würde ich mir auch viel leichter tun beim lernen.
          Perldoc CGI hab ich mir schon glaub ich jetzt zum 100. Mal durchgelesen, bin aber genauso schlau wie früher. In meinen Büchern find ich auch kein Beispiel dazu, eben nur wie man weiterleitet mit $query-redirect. Man kann nur mit Beispielen lernen und je mehr Beispiele ich zur Verfügung hab, desto schneller würd ichs kapieren.
          In dem Fall jetzt kann ich leider das was ich brauch nicht mit dem kombinieren, was in Perldoc oder sonstwo steht, eben weil ichs nicht so richtig verstehe,(obwohls wahrscheinlich kinderleicht is) deswegen frag ich hier im Forum.

          1. Hoi,

            es is ja nicht so, daß ich überhaupt nicht selber nachdenken würde, is
            nicht meine Art anderen das denken zu überlassen, aber ich schlag mich jetzt
            6 Wochen !!! mit diesem wirklich lecherlichen Problem herum, und wenn ich
            EINMAL ein konkretes Beispiel haben würde, würde ich mir auch viel leichter
            tun beim lernen.

            Du solltest das aendern. Viele Dokus vermitteln nur das Wissen, umsetzen musst
            du es normalerweise selber.

            In dem Fall jetzt kann ich leider das was ich brauch nicht mit dem
            kombinieren, was in Perldoc oder sonstwo steht, eben weil ichs nicht so
            richtig verstehe,(obwohls wahrscheinlich kinderleicht is) deswegen frag ich
            hier im Forum.

            Hoer auf zu flennen. Arbeite lieber an deinem Lern-Stil.

            Gruss,
             CK

            P. S.:

            print $cgi->header(
                               -type     => 'text/html',
                               -status   => '302',
                               -location => 'url',
                               -cookie   => $cookie-object
                              );

            1. Meeeeeeeiiin Gott =)
              ich kann nicht glauben, daß es endlich funktioniert.
              Recht herzlichen Dank =)

              P.S. mein Feher ,daß ich das Komma vergessen hab =(