muchas gracias por la informacion Cluster, con ello ya he podido hacer bastante, busque informacion y ejemplos y bueno ya he logrado hacer la conexion por sockets y ademas obtener el resultado generado... lo unico que me falta es procesar este resultado obtenido que es guardado en una variable... me pregunto si basta con usar la funcion eregi() para hacerlo?¿?
*******
He probado en mi servidor y funciona a la perfeccion... he probado haciendo la conexion con sockets al otro y con unas paginas si logro obtener el contenido del archivo abierto con la conexion pero el que me interesa especificamente obtengo esto:
HTTP/1.1 200 OK Date: Sat, 24 Jul 2004 04:30:40 GMT Server: Apache/1.3.23 (Unix) (Red-Hat/Linux) mod_ssl/2.8.7 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.0.6 mod_perl/1.26 X-Powered-By: PHP/4.0.6 Connection: close Transfer-Encoding: chunked Content-Type: text/html
Al parecer me cierra la conexion o algo asi... a que se debe???
****
Código PHP:
<?php
$repeat = 1; // Cuantas veces se realiza la conexion
$timeout = 60; // Tiempo maximo para que se establezca la conexion
$size = 0; // Bytes que seran leidos (y mostrados). 0 para leer todos
$server = '216.250.209.10'; // direccion IP
$host = 'www1.porta.net'; // Nombre del Dominio
$target = '/paginas/i-es/mensajes_escritos.php'; // Especificacion del programa a usar
$referer = 'http://www.porta.net/paginas/i-es/i-es.php'; // Referencia
$port = 80;
// Setup an array of fields to get with then create the get string
$gets = array ( 'message' => 'Mensaje de prueba',
'pt1' => '4593120',
'pt2' => 'JoSe',
'sizebox' => '133',
'momento' => 'Ahora'
);
// Setup an array of fields to post with then create the post string
$posts = array ("message" => "Mensaje de prueba, avisame si te llega",
"pt1" => "4593120",
"pt2" => "JoSe",
"sizebox" => "133",
"momento" => "Ahora");
// That's all. Now the program proccess $repeat times
$method = "POST";
if ( is_array( $gets ) ) {
$getValues = '?';
foreach( $gets AS $name => $value ){
$getValues .= urlencode($name ) . "=" . urlencode( $value ) . '&';
}
$getValues = substr( $getValues, 0, -1 );
} else {
$getValues = '';
}
if ( is_array( $posts ) ) {
foreach( $posts AS $name => $value ){
$postValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&';
}
$postValues = substr( $postValues, 0, -1 );
$method = "POST";
} else {
$postValues = '';
}
$request = "$method $target$getValues HTTP/1.1\r\n";
$request .= "Host: $host\r\n";
$request .= 'User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) ';
$request .= "Gecko/20021204\r\n";
$request .= 'Accept: text/xml,application/xml,application/xhtml+xml,';
$request .= 'text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,';
$request .= "image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n";
$request .= "Accept-Language: en-us, en;q=0.50\r\n";
$request .= "Accept-Encoding: gzip, deflate, compress;q=0.9\r\n";
$request .= "Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66\r\n";
$request .= "Keep-Alive: 300\r\n";
$request .= "Connection: keep-alive\r\n";
$request .= "Referer: $referer\r\n";
$request .= "Cache-Control: max-age=0\r\n";
if ( $method == "POST" ) {
$lenght = strlen( $postValues );
$request .= "Content-Type: x-www-form-urlencoded\r\n";
$request .= "Content-Length: $lenght\r\n";
$request .= "\r\n";
$request .= $postValues;
}
for ( $i = 0; $i < $repeat; $i++ ) {
$socket = fsockopen( $server, $port, $errno, $errstr, $timeout );
fputs( $socket, $request );
if ( $size > 0 ) {
$ret = fgets( $socket, $size );
} else {
$ret = '';
while ( !feof( $socket ) ) {
$ret .= fgets( $socket );
}
}
fclose( $socket );
echo "<hr> $i -- $content -- $ret";
if (eregi("enviado correctamente", $ret))
{
echo "Enviado Correctamente";
}
else
{
echo "ERROR DE ENVIO";
}
}
/* ERRORES
098330270: Operadora bellsouth
El(Los) siguiente(s) número(s) no tiene(n)
activado el servicio I-es por paquete!
094593120: Operadora Porta Activado
El mensaje para el(los) siguiente(s)
número(s) ha sido enviado correctamente!
097005019: Porta no activado
El(Los) siguiente(s) número(s) no tiene(n)
activado el servicio I-es por paquete!
*/
?>
Saludos