Hola a todos. Os pongo el codigo que tengo que funciona bien pero lo que deseo es que no me aparezca la cabecera 'HTTP/1.1 200 OK Date: Fri, 10 Dec 2010 15:02:51 GMT Server: Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9 X-Powered-By: PHP/5.2.9 Content-Length: 63 Connection: close Content-Type: text/html; charset=utf-' cuando al final pongo ECHO.
Mi idea es llamar a un fichero PHP pasandole variables como POST (sin suar formulario) y que me devuelva un valor que mostraré en pantalla.
<?
$host = "your.host.com";
$port = 80;
$postdata = "field1=value1&field2=value2&field3=value3";
if ($sp = fsockopen($host,$port)) {
fputs($sp,"POST /path/to/somescript/php HTTP/1.0 ");
fputs($sp,"Host: $host ");
fputs($sp,"Content-type: application/x-www-form-urlencoded ");
fputs($sp,"Content-length: ".strlen($postdata)." ");
fputs($sp,"Connection: close ");
fputs($sp,$postdata);
// optionally print the response
while (!feof($sp)) {
echo fgets($sp,128);
}
fclose($sp);
} ?>
Muchas gracias por vuestros consejos y ayuda!!
Ya lo he solucionado
en la respuesta del echo pongo
strchr($sp,"\r\n\r\n");
Esto lo que hace es eliminar todo el header
CitarHTTP/1.1 200 OK Date: Fri, 10 Dec 2010 15:02:51 GMT Server: Apache/2.2.11 (Win32) DAV/2 mod_ssl/2.2.11 OpenSSL/0.9.8i PHP/5.2.9 X-Powered-By: PHP/5.2.9 Content-Length: 63 Connection: close Content-Type: text/html
Es la respuesta del servidor y te aparece porque estas intentando imprimirlo, nose si el source lo haz hecho pero te puedes fijar en el comentario:
// optionally print the response
while (!feof($sp)) {
echo fgets($sp,128);
}
Solo quitar esa linea nomas.
Nota: Esa linea puede que este para ver el codigo de respuesta que nos responde el servidor, así puedes saber si la petición POST se envió correctamente
estaq bueno el codigo yo no sabia que eso se podia hacer. ;-)
Otra forma es hacerlo con CURL si dispones de las librerias instaladas.
Ya lo solucione. Gracias