Flunsi: mit "POST" eine Seite anfordern?

jouhou

Wie man mit "GET" eine Seite anfordert, ist ja wohl kein Problem. Aber wie sieht's mit "POST" aus?

Wenn jemand ein Beispiel posten würde, wäre mir geholfen.
Danke

  1. Hallo,

    Wie man mit "GET" eine Seite anfordert, ist ja wohl kein Problem. Aber wie sieht's mit "POST" aus?

    Beispiel:

    1.) Starte Telnet:
    telnet servername 80 <request >response

    2.) gibt alle Zeilen zwischen <eingabe> und </eingabe> bei erfolgreicher verbindung ein:

    <eingabe>
    POST /cgi-bin/scriptname HTTP/1.0

    </eingabe>

    3.) Betrachte das vom server gelieferte und staune.

    Nicht ganz ernst gemeint, aber eauch eine Variante zu surfen ;-)

    Grüße
      Klaus

    1. Hallo,

      Wie man mit "GET" eine Seite anfordert, ist ja wohl kein Problem. Aber wie sieht's mit "POST" aus?

      Beispiel:

      1.) Starte Telnet:
      telnet servername 80 <request >response

      2.) gibt alle Zeilen zwischen <eingabe> und </eingabe> bei erfolgreicher verbindung ein:

      <eingabe>
      POST /cgi-bin/scriptname HTTP/1.0

      </eingabe>

      3.) Betrachte das vom server gelieferte und staune.

      Nicht ganz ernst gemeint, aber eauch eine Variante zu surfen ;-)

      Grüße
        Klaus

      Ist ja nett und schön, aber ich dachte eigentlich an eine Perl-Variante.

      1. Hallo,

        Ist ja nett und schön, aber ich dachte eigentlich an eine Perl-Variante.

        Ich weiß, aber ich dachte halt, daß es eventuell auch interessant sein könnte, wie man das mit Bordmittel machen kann. Und die Perl-Variante steht ja sowieso in der Doku, bzw. hat cheatah Dir da ja schon die nötigen hints gegeben.

        Nichts für ungut
          Klaus

  2. Hi,

    Wie man mit "GET" eine Seite anfordert, ist ja wohl kein Problem. Aber wie sieht's mit "POST" aus?

    perldoc LWP::UserAgent
    perldoc HTTP::Request

    Cheatah

    1. Hi,

      Wie man mit "GET" eine Seite anfordert, ist ja wohl kein Problem. Aber wie sieht's mit "POST" aus?

      perldoc LWP::UserAgent
      perldoc HTTP::Request

      Cheatah

      eigentlich möchte ich mit  schicken und nicht empfangen.
      sieh dir einfach untenstehndes script an.
      ich möchte die cgivars (user, pwd) nicht an der URL anhängen, sondern via POST schicken.
      it das in diesen kassen überhaupt möglich?
      sollte doch ein kinderspiel sein, aber..

      <code>
      require LWP::UserAgent;
      require HTTP::Request;

      $ua = new LWP::UserAgent;
      $ua->proxy('http',$ENV{'HTTP_PROXY'});

      $url='http://www.sagichnicht.com/cgi-bin/receive.cgi?user=flunsi&pwd=gibmirdiestatistik';
      $html = get_data($url);

      print <<EOT;
      Content-Type: text/html\r\n\r\n
      $html
      EOT

      exit;

      sub get_data
      {
      my $url = $_[0];
      my $go;

      $go = new HTTP::Request 'GET', $url;
      $response = $ua->request($go);
      if ($response->is_success)
      {
      $data = $response -> content();
      }
      else
      {  
          $data = 0;
      }

      return $data;
      }
      </code>

      1. Hallo,

        eigentlich möchte ich mit  schicken und nicht empfangen.
        sieh dir einfach untenstehndes script an.
        ich möchte die cgivars (user, pwd) nicht an der URL anhängen, sondern via POST schicken.
        it das in diesen kassen überhaupt möglich?
        sollte doch ein kinderspiel sein, aber..

        Hast Du überhaupt die LWP-Doku  (perldoc lwpcook) durchgeschaut?
        Ich denke nicht, sonst würde die Frage nicht auftauchen.

        BTW: Du mußt eine Anfrage (Request) _schicken_ um ein Ergebnis (Response) zu _empfangen_.

        Alles Klar?

        Grüße
          Klaus

        1. Hast Du überhaupt die LWP-Doku  (perldoc lwpcook) durchgeschaut?
          Ich denke nicht, sonst würde die Frage nicht auftauchen.

          Nein, habe ich nicht. aber im modul selber sollte doch auch eine anleitung für post stehen. für get ist ja auch eine drin.
          ich sage immer: entweder oder gar nicht! :)

          Danke, es funzt

          1. Hallo,

            Nein, habe ich nicht. aber im modul selber sollte doch auch eine anleitung für post stehen. für get ist ja auch eine drin.
            ich sage immer: entweder oder gar nicht! :)

            Wenn Du es getan hättest, dann hättest Du auch das Beispiel zu POST gefunden.
            Ich habe die Erfahrung gemacht, daß die Doku zu den Modulen zwar nicht immer sensationell ist, aber doch meist ausgezeichnet.
            Ich würde mir wünschen, daß bei anderen Programmiersprachen solch gute Dokumentationen mitgeliefert werden.

            Also, schau die 'perldoc lwpcook' an, dann findest Du auch ein Beispiel zu POST.

            Grüße
              Klaus

      2. Hi,

        eigentlich möchte ich mit  schicken und nicht empfangen.

        tust Du doch. Wenn Du das, was Du empfängst nicht brauchst, nutzt Du es halt nicht.

        Cheatah