Archivo
junio 21st, 2009 by admin
Hace unos días, me encontré con la necesidad de enviar una serie de datos, a una página, utilizando el método POST.
Al principio pensé en realizar esto con la función “header” pero no lo conseguí. Entonces comencé a buscar en google y encontré algunos sitios que utilizaban “curl” para el envió de datos.
Los ejemplos que encontré con “curl”, parecían sencillos de implementar, el único problema es que hay que tener “curl” instalado en el servidor.
Seguí buscando en google y encontré otras páginas que explicaban como hacer esto con “fsockopen”.
Una vez utilice “fsockopen” para conectar a un servidor POP3 y obtuve buenos resultados, a si que, me decidí a intentar conseguir mi objetivo inicial utilizando esta función.
A continuación muestro el código de dos ficheros php. Un fichero llamado “enviarPOST.php” y otro llamado “variablesPOST.php”.
Como podréis imaginar por el nombre de los ficheros “enviarPOST.php” se encarga de enviar a “variablesPOST.php” los datos que este espera.
enviarPOST.php
<?php /** * CONFIGURACIÓN */ $carpeta = "/tmp/a/variablesPOST.php"; $host = "localhost"; $datos = "variable=correctoOK"; $size = strlen($datos); $c = fsockopen($host, "80"); if(!$c) { echo "Error!"; } //Enviar datos POST fputs($c, "POST " . $carpeta . " HTTP/1.0rn"); fputs($c, "Content-Type: application/x-www-form-urlencodedrn"); fputs($c, "Content-Length: " . $size . "rn"); fputs($c, "Connection: close rrnn"); fputs($c, $datos . "rn"); //Obtener datos while(!feof($c)) { $datoss .= fgets($c,4096); } echo $datoss; ?>
variablesPOST.php
<?php echo "La variable es: " . $_POST["variable"]; ?>