Simular llamados por metodo POST
Descripcion:
Cuando se esta programando en diferentes servidores y se desea de alguna forma empatar o unir dos sitemas para realizar seguimientos en sistemas distintos, los desarrolladores crean paginas que envian peticiones por metodos de una pagina a otra, en el caso que aqui se documenta se desea enviar desde una pagina una serie de parametros a uan segunda pagina sin que la segunda pagina sea mostrada en el navegador.
Codigo:
<?php
function fsockPost($data)
{
$postdata = ”;
foreach($data as $i=>$v)
{
$postdata.= $i . “=” . urlencode($v) . “&”;
}
$fp=@fsockopen(‘localhost’,80,$errnum,$errstr,30);
//Error checking
if(!$fp)
{
echo $errnum.”: “.$errstr;
}
//Post Data
else {
fputs($fp, “POST “.’/pruebas/simulaGET/mail.php’.” HTTP/1.1\r\n”);
fputs($fp, “Host: localhost\r\n”);
fputs($fp, “Content-type: application/x-www-form-urlencoded\r\n”);
fputs($fp, “Content-length: “.strlen($postdata).”\r\n”);
fputs($fp, “Connection: close\r\n\r\n”);
fputs($fp, $postdata . “\r\n\r\n”);
while(!feof($fp))
{
$info[]=@fgets($fp, 1024);
}
fclose($fp);
$info=implode(“,”,$info);
}
return $info;
}
$data2=array(“nombre”=>”andres”,”fono”=>”46120828″);
//echo fsockPost($data2);
fsockPost($data2);
echo “<br>Se supone que ya se hizo el llamado”;
?>
<?phpfunction fsockPost($data) { $postdata = ”; foreach($data as $i=>$v) { $postdata.= $i . “=” . urlencode($v) . “&”; } $fp=@fsockopen(‘localhost’,80,$errnum,$errstr,30); //Error checking if(!$fp) { echo $errnum.”: “.$errstr; } //Post Data else { fputs($fp, “POST “.’/pruebas/simulaGET/mail.php’.” HTTP/1.1\r\n”); fputs($fp, “Host: localhost\r\n”); fputs($fp, “Content-type: application/x-www-form-urlencoded\r\n”); fputs($fp, “Content-length: “.strlen($postdata).”\r\n”); fputs($fp, “Connection: close\r\n\r\n”); fputs($fp, $postdata . “\r\n\r\n”); while(!feof($fp)) { $info[]=@fgets($fp, 1024); } fclose($fp); $info=implode(“,”,$info); } return $info; }
$data2=array(“nombre”=>”andres”,”fono”=>”46120828″);//echo fsockPost($data2);fsockPost($data2);echo “<br>Se supone que ya se hizo el llamado”;?>