[PHP] post-formular mit php-script abschicken ?



  • hi,

    es gibt eine seite, auf deren inhalt ich keinen einfluss habe.
    auf dieser seite gibt es ein formular.
    dieses formular verwendet die post-methode, um die daten zu senden.

    ich möchte jetzt ein php-skript schreiben, dass quasi das formular ausfüllt und möchte dann die antwort weiterverarbeiten.

    dazu hab ich mir überlegt, dass ich das script, das die antwort generiert, mit entsprechenden post-headern aufrufe und mir dann einfach die antwort hole. 🙂

    nur leider hab ich nicht den blassesten schimmer 😞 , wie ich das realsieren soll. (⚠ : wer mir jetzt was zur header()-funktion schreiben will, sollte sich erst nochmal meinen text durchlesen.) ich hab schonmal irgendwo was von wegen php und sockets gelsen, aber das muss doch einfacher gehen. (obwohl ich davon auch keine planung hätte.)

    danke im vor*aus
    lw



  • meinst du sowas?

    #! ./php -q
    <?php
    
    function PostToHost($host, $path, $referer, $data_to_send) {
      $fp = fsockopen($host,80);
      printf("Open!\n");
      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");
      printf("Sent!\n");
      while(!feof($fp)) {
          $res .= fgets($fp, 128);
      }
      printf("Done!\n");
      fclose($fp);
    
      return $res;
    }
    
    $data = "pid=14&poll_vote_number=2";
    
    printf("Go!\n");
    $x = PostToHost(
                  "www.linux.com",
                  "/polls/index.phtml",
                  "http://www.linux.com/polls/index.phtml?pid=14",
                  $data
    );
    

    zu starten auf konsole über php -q

    aber damit wird es schwer mit der antwort..

    du kannst dir vielleicht noch das ansehen

    http://curl.haxx.se/

    unter windows, bzw. windows php leicht zu installieren, bei neuen php versionen schon dabei, bei linux musst du es reinkompilieren, glaub ich jedenfalls



  • danke! danke! danke! 😃

    das ist genau das, was ich gesucht habe! 😋

    ich muss es noch ein bischen abändern, aber ich denke das passt schon irgenwie.

    ich hätte gar nicht gedacht, dass sockets in php so einfach sind. ich bin da von c++ und winapi anderes gewöhnt... 😉

    lw


Anmelden zum Antworten