Avatar billede palito Nybegynder
08. juni 2006 - 18:47 Der er 2 kommentarer

POST vha fsockopen

Hvordan poster jeg på et andet site igennem mit script vha. www.php.net/fsockopen?
Avatar billede jakobdo Ekspert
08. juni 2006 - 19:56 #1
Måske noget i stil med:

<?php

$host = "www.domain.dk";
$port = 80;
$path = "/noget.php";

//you will need to setup an array of fields to post with
//then create the post string
$formdata = array ("user" => $user, "pass" => $pass, "login" => $login);
//build the post string
foreach($formdata AS $key => $val)
{
        $poststring .= urlencode($key) . "=" . urlencode($val) . "&";
}

// strip off trailing ampersand
$poststring = substr($poststring, 0, -1);

$fp = fsockopen($host, $port, $errno, $errstr, $timeout = 30);
if(!$fp)
{
        //error tell us
        echo "$errstr ($errno)<br />\n";
}
else
{
        //send the server request
        fputs($fp, "POST $path HTTP/1.1\r\n");
        fputs($fp, "Host: $host\r\n");
        fputs($fp, "Content-type: application/x-www-form-urlencoded\r\n");
        fputs($fp, "Content-length: ".strlen($poststring)."\r\n");
        fputs($fp, "Connection: close\r\n\r\n");
        fputs($fp, $poststring . "\r\n\r\n");

        //loop through the response from the server
        while(!feof($fp))
        {
                $output .= fgets($fp, 4096);
        }
        //close fp - we are done with it
        fclose($fp);
}

?>

Og ellers er det næsten også bare at ændre GET til POST i dette eksempel:

Eksempel 1. fsockopen() Example
<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
  echo "$errstr ($errno)<br />\n";
} else {
  $out = "GET / HTTP/1.1\r\n";
  $out .= "Host: www.example.com\r\n";
  $out .= "Connection: Close\r\n\r\n";

  fwrite($fp, $out);
  while (!feof($fp)) {
      echo fgets($fp, 128);
  }
  fclose($fp);
}
?>
Avatar billede elskermad.dk Nybegynder
08. juni 2006 - 21:58 #2
Den nyeste artikel oprettet omhandler dette
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester