Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/01/2005, 09:03
XiomaraGel
 
Fecha de Ingreso: enero-2005
Mensajes: 1
Antigüedad: 19 años, 3 meses
Puntos: 0
AYUDA con HTTP sockets en PHP !

Estoy desarrollando una aplicación la cual obtiene los datos de un formulario que se encuentra en línea y trata de enviarlos por medio de POST utilizando sockets y HTTP headers. El problema es que no se por qué no está recibiendo los headers correctos como cuando un usuario normal le da click a la forma.

En esta página se encuentra la forma: http://www.scjn.gob.mx/ius/default.asp


Yo copié la forma y cambie el ACTION para que se enviara la forma a un código que cacha el $_POST y lo envía al submit original para tratar de obtener los resultados de la base de datos.
Lo único que cambie de la forma original (http://www.scjn.gob.mx/ius/default.asp) fue la siguiente parte:
Código:
<FORM action=fopen.php method=post target=main>
///////////---fopen.php procesa la forma---------////////////////////////
Código:
<?

function sendToHost($host,$method,$path,$data,$useragent=0)
{
    // Supply a default method of GET if the one passed was empty
    if (empty($method)) {
        $method = 'GET';
    }
    $method = strtoupper($method);
    $fp = fsockopen($host, 80);
    if ($method == 'GET') {
        $path .= '?' . $data;
    }
    fputs($fp, "$method $path HTTP/1.1\r\n");
	fputs($fp, "Accept: */*\r\n");
    fputs($fp, "Host: $host\r\n");
    fputs($fp,"Content-type: application/x-www-form- urlencoded\r\n");
    fputs($fp, "Content-length: " . strlen($data) . "\r\n");
    if ($useragent) {
        fputs($fp, "User-Agent: MSIE\r\n");
    }
    fputs($fp, "Connection: Close\r\n\r\n");
    if ($method == 'POST') {
        fputs($fp, $data);
    }

    while (!feof($fp)) {
        $buf .= fgets($fp,128);
		
    }
    fclose($fp);
    return $buf;
}


if ( is_array( $_POST ) )
 {
   foreach( $_POST AS $name => $value )
   {
       $postValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&';
   }
   $postValues = substr( $postValues, 0, -1 );
   //echo($postValues);

echo(sendToHost('www.scjn.gob.mx','POST','/ius/default.asp',$postValues,$useragent=0));



}


?>
Espero alguien me pueda ayudar a desplegar los resultados, ya que no se que pasa que no me regresa el resultado como si lo estuvieras haciendo desde un navegador. Para que vean de lo que les estoy hablando en la forma seleccionen:
- Todo
- Todo
- Rubro
- Y en el campo de texto escriban: marco
- Luego denle Buscar porque si le pican enter no funciona (cosa que también se me hace rara y espero no esté afectando con el código)

Agradesco su ayuda y paciencia.