Ver Mensaje Individual
  #6 (permalink)  
Antiguo 29/12/2011, 16:33
Avatar de davidcr
davidcr
 
Fecha de Ingreso: septiembre-2004
Ubicación: Cartago Costa Rica
Mensajes: 95
Antigüedad: 19 años, 7 meses
Puntos: 7
Sonrisa Respuesta: obtener Captcha CURL

Hola amigo.

Estube viendo la libreria que citaste pero esta igualmente basada en Curl y por las pocas pruebas que le hice no esta funcionando.

Te recomiendo uses la libreria que te estoy dejando, que ya esta probada y funcionando. Y el codigo que estube trasteando que creo debe funcionar a la hora de hacer el envio POST lo que no sé aun es como hacerle para que PHP obtenga el Captcha de la imagen, se detenga hasta que se envie el codigo de respuesta y haga el POST sin perder la conexion.. te lo dejo de tarea.

Libreria http.inc

La bajas de aquí:

http://www.phpclasses.org/package/57...-features.html


Y ahora lo llamas con este codigo :

Código PHP:
<?php

/*********************************************************************
 * Demonstrates the use of the get() method
 *********************************************************************/
    
require_once( 'http.inc' );
    
// header( 'Content-Type: text/xml' );
    
    // Grab a RDF file from phpdeveloper.org and display it
    
$http_client = new httpHTTP_V11false);
    
$http_client->host 'sms3.personal.com.ar';
    
    if ( 
$http_client->get'/Mensajes/sms.php' ) == HTTP_STATUS_OK)
        
# print( $http_client->get_response_body() );
       
{
     
  


    
$Textohtml$http_client->get_response_body();

   
$Paso1 explode("\r"$Textohtml);
$Preresult explode('"'$Paso1[160]);

 
$URLCaptcha$Preresult[1];

# Mostrar el captcha

echo "<img src='".$URLCaptcha."' width='120' height='38'/>";


echo 
"<BR><BR><input name='codigo' type='text'/>";

   exit(); 
// quitar para continuar pruebas de aqui en adelante


 # ACA EL CODIGO QUE SE NECESITA PARA ENVIAR EL FORM
 # PERO NO SE COMO HACERLE PARA QUE PHP RECOJA EL DATO
 # DE LA CELDA DE ARRIBA (la respuesta del captcha)
 # SIN CORTAR LA CONEXION INICIAL



   # HACER EL POST

$CodigoDeArea="AQUI TU CODIGO DE AREA";
$Numero="AQUI EL NUMERO A DONDE VAS A ENVIAR";
$Remitente="Persona que envia";
$Mensaje"Escribe aqui tu mensaje";
$CodigoCaptcha="Escribe el codigo de la imagen";



   
$form = array(
                
'form_flag' => '',
                
'Snb' => '',
                
'subname' => '',
                
'sig' => '',
                
'msgtext' => '',
                
'form' => 'ht4',
                
'size' => '10',
                
'btn_send' => 'SEND',
                
'historico' => '',
                
'historico' => 'Filename',
                
'FormValidar' => 'novalidar',
                
'CODAREA' => $CodigoDeArea,
                
'NRO' => $Numero,
                
'DE_MESG_TXT' => $Remitente,
                
'MESG_TXT' => $Mensaje,
                
'codigo' => $CodigoCaptcha,);


  
$http_client->host 'sms3.personal.com.ar';
    
$status $http_client->post'/Mensajes/sms.php' );
    if ( 
$status == HTTP_STATUS_OK ) {
        print( 
$http_client->get_response_body() );
    } else {
        print( 
"An error occured while requesting your file !\n" );
        
print_r$http_client );
    }



 }

    else {
        print( 
'Server returned ' .  $http_client->status );

        
$http_client->disconnect();
    unset( 
$http_client );


}

 
$http_client->disconnect();
    unset( 
$http_client );
?>

Es lo que te puedo ayudar por ahora... te tocara descifrar como mantener la conexion para enviar la peticion POST restante. me cuentas como te fué