Frage zu HTTP-Request-Header



  • Hi,wenn ich einen request header schicke dann schick ich z.B.:

    GET /index.php HTTP/1.1
    

    Wie rufe ich das Script aber mit Variablen auf,wenn diese nicht über die URL mitgesendet werden?Ein Browser muss sowas ja können ^^

    THX,
    Xalon



  • Irgendwer (ich meine es war elise) hat mal folgende Funktion geschrieben:

    function PostToHost($host, $path, $referer, $data_to_send) {
      $fp = fsockopen("http://".$host,80);
      fputs($fp, "POST $path HTTP/1.1\n");
      fputs($fp, "Host: $host\n");
      fputs($fp, "Referer: $referer\n");
      fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
      fputs($fp, "Content-length: ".strlen($data_to_send)."\n");
      fputs($fp, "Connection: close\n\n");
      fputs($fp, "$data_to_send\n");
      while(!feof($fp)) {
          $res .= fgets($fp, 128);
      }
      fclose($fp);
      return $res;
    }
    


  • Versteh net ganz was mir des bringt?!
    Des is ein normaler Header,oder?

    THX,
    Xalon



  • wobei das \n hinter dem content doch überflüssig ist, oder?

    und ja, das ist ein normaler POST header...



  • Ich weiß ja nicht was du suchst, aber mit dieser Funktion kannst du eben Daten per POST-Methode versenden. Die Variablen (also das, was bei GET hinter dem ? kommt) werden einfach über $data_to_send übergeben 🙂

    Wenn du die zurückgelieferten Daten nicht auswerten willst kannst du dir die while-Schleife natürlich sparen 😉



  • welche Form muss den $data_to_send sein? 0_O
    2dimensionales array? oder was?



  • Ich glaub für $data_to_send musste einfach nur
    ?blupp=hallo&tralala=12
    übertragen. Quasi dasselbe wie es bei GET hinter der URL stehen würde...



  • also(neuer Header):

    GET /index.php HTTP/1.1" 
    Host:myhost.de
    User-Agent: score 
    Accept: */* 
    ?bereich=18&tier=affe
    

    Dann wird das Script index.html mit den Variablen
    bereich=18
    tier=affe

    Aufgerufen,Stimmts?

    THX,
    Xalon



  • Afaik aber ohne das ? am Anfang. Außerdem könnte ich mir vorstellen, dass Content-type und Content-length nicht ganz unwichtig sind 😉



  • Da ich da noch ziemlich ein N00b bin,könntest du mir erklkären was diese 2 "Dinger" übertragen?
    Vorallem der Content Typ,denn die Lenght überträgt einfach wie viele Zeichen
    übertragen werden,stimmts?

    Und muss ich bei

    tier=affe&a=23
    

    so ein und zeichen dazwischen machen?

    THX,
    Xalon



  • Der Content-type gibt einfach an, in welchem Format die nach dem Header kommenden Daten sind. Zu deinem Parameter-String: der dürfte so stimmen 😉



  • als omuesste der Content-type doch text/plain sein, oder? o_O



  • Wie gesagt, der Code stammt nicht von mir - funktioniert aber. Außerdem folgt ja nicht irgendein beliebig formatierter Text, sondern einer der ganz speziellen Vorgaben genügt. 😉



  • Hat sich erledigt^^

    THX,
    Xalon



  • Na toll,mit

    GET/ forum/viewtopic-var-t-is-108990-and-start-is-0.html HTTP/1.1"
    Host: c-plusplus.net
    User-Agent: score
    Accept: */*
    

    Kommt zurück:

    HTTP/1.1 400 Bad Request
    Date: Fri, 06 May 2005 15:23:34 GMT
    Server: Apache/2.0.49 (Linux/SuSE)
    Vary: accept-language,accept-charset
    Accept-Ranges: bytes
    Connection: close
    Content-Type: text/html; charset=iso-8859-1
    Content-Language: en

    <?xml version="1.0" encoding="ISO-8859-1"?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    <head>
    <title>Bad request!</title>
    <link rev="made" href="mailto:%5bno%20address%20given%5d" />
    <style type="text/css"><!--/--><![CDATA[/><!--/
    body { color: #000000; background-color: #FFFFFF; }
    a:link { color: #0000CC; }
    p, address {margin-left: 3em;}
    span {font-size: smaller;}
    /
    ]]>*/--></style>
    </head>

    <body>
    <h1>Bad request!</h1>
    <p>

    Your browser (or proxy) sent a request that
    this server could not understand.

    </p>
    <p>
    If you think this is a server error, please contact
    the <a href="mailto:%5bno%20address%20given%5d">webmaster</a>.

    </p>

    <h2>Error 400</h2>
    <address>
    <a href="/">c-plusplus.net</a><br />

    <span>Fri May 6 17:23:34 2005<br />
    Apache/2.0.49 (Linux/SuSE)</span>
    </address>
    </body>
    </html>

    Und das kommt bei allen aufrufen?!
    Warum denn das?
    THX,Xalon



  • Leerzeichen nach GET ?



  • mit

    GET /viewtopic.php?t=10986 HTTP/1.1
    Host: blitzforum.de
    User-Agent: score
    Accept: */*
    

    kommt ein 404er Fehler(Seite nicht gefunden) -.-

    Aber die Seite:

    www.blitzforum.de/viewtopic.php?t=10986

    gibt es
    Ich check nix mehr 😕

    THx,
    Xalon


Anmelden zum Antworten