Ankündigung

Einklappen
Keine Ankündigung bisher.

stream_socket_client Post senden

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • stream_socket_client Post senden

    Hallo zusammen,

    Wie kann ich, wenn ich stream_socket_client benutzte, einen Request per Post zu machen?

    Ich bin schon über stream_context_create gestolpert, aber das hat mir nicht weitergeholfen
    PHP-Code:
    $fp stream_socket_client($hosts$errno$errstr20STREAM_CLIENT_CONNECT);

    $data "POST {$path} HTTP/1.1\r\n";
            
    $data.= "Host: {$host}\r\n";
            
    $data.= "Accept: */*\r\n";
            
    $data.= "Pragma: no-cache\r\n";
            
    $data.= "Connection: keep-alive\r\n\r\n";
                 
    $data .= "Content-Type: application/x-www-form-urlencoded\r\n";
                 
    $data .= "Content-Length: ".strlen($postData)."\r\n".$postData."\r\n";
        
            
            
    // Timeout setzen
            
    stream_set_timeout($fp5);
            
    fputs($fp$data);
            
    fflush($fp); 
    Iwie funktioniert das nicht :/

    Gruß
    prophet

    EDIT:
    Ich hab rausgefunden das ein Bad Request vom Server zurückkommt.
    Code:
    Host: localhost
    Accept: */*
    Pragma: no-cache
    Connection: keep-alive
    
    Content-Type: application/x-www-form-urlencoded
    Content-Length: 16
    login=success
    Nur kp woran das liegt Könnt ihr mir helfen?

  • #2
    PHP-Code:
      $data.= "Connection: keep-alive\r\n\r\n"
    Zwei Umbrüche => Header zu Ende...

    Oder anders ausgedrückt: Header und Body werden mit einer "Leerzeile" voneinander getrennt.
    Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

    Kommentar


    • #3
      Stimmt das so?
      PHP-Code:
      $data .= "Content-Type: application/x-www-form-urlencoded\r\n";
      $data .= "Content-Length: ".strlen($postdata)."\r\n\r\n".$postdata
      Wenn ja, geht iwie immer noch nicht. Wenn nein, was mach ich falsch?

      EDIT: Hat geklappt!

      EDIT2:
      Gibts es eine Möglichkeit dem stream_socket_client zu sagen das es 30x Antworten folgt? Also follow location mäßig?

      Kommentar

      Lädt...
      X