Foros del Web » Programando para Internet » PHP »

conexion curl

Estas en el tema de conexion curl en el foro de PHP en Foros del Web. hola, queria hacer una consulta: yo hago la siguiente conexion curl desde mi cliente a mi servidor Código PHP: function  enviar  ( $datos ) {     ...
  #1 (permalink)  
Antiguo 06/05/2008, 11:03
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
conexion curl

hola, queria hacer una consulta:

yo hago la siguiente conexion curl desde mi cliente a mi servidor
Código PHP:
function enviar ($datos) {
   
$ch curl_init();
   
curl_setopt($chCURLOPT_URL"http://localhost:81/dispatcher.php");
   
curl_setopt($chCURLOPT_RETURNTRANSFERtrue); 
   
curl_setopt($chCURLOPT_POSTtrue); 
   
curl_setopt($chCURLOPT_POSTFIELDS$datos);   
   
$postResult curl_exec($ch);
   
   if (
curl_errno($ch)) {  
          
curl_close($ch);
          return -
1;          
   }     
   
curl_close($ch);
   return 
$postResult;


una vez que el servidor ha recibido los datos y he hecho operaciones con ellos no se como mandar los resultados desde el servidor al cliente.

Me explico:

He probado ha hacerlo asi, pero no es algo que sea muy correcto:

Código PHP:
//este es el servidor que recibe los datos y los guarda en un array
$datos = array(print_r($_POST[param2],1),print_r($_POST[param1],1));

//creo un objeto para hacer unas operaciones
$obj = new validaUsers;

//hago las operaciones
$obj->registrar($datos);

//devuelvo al cliente mediante un mensaje en el navegador
echo 1//pongo 1 porque todo ha ido bien 
Entonces el cliente recoge este 1 de la siguiente forma:
Código PHP:
$resultado enviar($dat);
if (
$resultado == 1header ("Location: ok.php"); 

Vale, pues yo lo que quiero es que el servidor mande ese 1 o el dato que sea al cliente pero de otra forma que sea mas correcta.

Si alguien sabe como hacerlo, se lo agradeceria, es importante, y ya me estoy desesperando. Gracias de antemano.

Última edición por elphaba; 16/06/2008 a las 02:59
  #2 (permalink)  
Antiguo 06/05/2008, 11:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: conexion curl

Hola elphaba,

Lo ideal es que uses SOAP y un protocolo estándar para los WebService.

Saludos.
  #3 (permalink)  
Antiguo 07/05/2008, 01:15
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Re: conexion curl

Si, eso es lo que me habian dicho, pero la cuestión es que no se como hacerlo, vamos que es nuevo todo eso para mi, si me puedes decir donde puedo encontrar buena informacion que lo explique con ejemplos, o si me puedes ayudar tu, pues muchas gracias!!

Saludos
  #4 (permalink)  
Antiguo 07/05/2008, 09:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: conexion curl

Hola elphaba,

Si buscas en Google PHP + SOAP, podrás encontrar muchos ejemplos, recuerda que el foro esta para resolver dudas concretas, y es un tema que ya se ha tratado, si buscas en el foro podrás encontrar muchos temas al respecto.

Saludos.
  #5 (permalink)  
Antiguo 07/05/2008, 09:45
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Re: conexion curl

Gracias, por tu respuesta y por ser tan rápido en contestar!!
  #6 (permalink)  
Antiguo 16/06/2008, 03:10
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Respuesta: Re: conexion curl

Cita:
Iniciado por GatorV Ver Mensaje
Hola elphaba,
Si buscas en Google PHP + SOAP, podrás encontrar muchos ejemplos, recuerda que el foro esta para resolver dudas concretas, y es un tema que ya se ha tratado, si buscas en el foro podrás encontrar muchos temas al respecto.
Saludos.
Hola de nuevo,
despues de haberme documentado hice cambios en mi codigo, pero ahora me surge otro problema, me explico

Sigo teniendo la misma funcion enviar que esta en el cliente (explicada en el primer mensaje)

Una llamada a esta funcion seria algo asi:
Código PHP:
$xml = <<<XML
<?xml version='1.0' encoding='utf-8'?>
        <operation type='login'>
        <param id='login'>$op</param>
        <param1 id='iduser'>$id_user</param1>
        <param2 id='username'>$us</param2>
        </operation>
XML;
 

        $dat = new SimpleXMLElement($xml);        
        $resultado = enviar($dat);
Creo el mensaje XML, y despues se le paso a la funcion enviar, que me devolvera un resultado. Hasta ahi todo bien.

Al abrir una conexion curl con el servidor, quiero que la comunicacion sea full-duplex. Para responder al cliente hago lo siguiente:
Código PHP:
$strxml = <<<XML
<?xml version='1.0' encoding='utf-8'?>
        <operation type='login'>
        <param id='resultado'>$re</param>
        </operation>
XML;
 

    $datos = new SimpleXMLElement($strxml);
Pero mi problema es ¿como recogo en el cliente este mensaje?
¿hay alguna sentencia que me falte?
Creo que estoy haciendo algo mal, más que nada por que no me va.
  #7 (permalink)  
Antiguo 16/06/2008, 11:13
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: conexion curl

Hola elphaba,

En el cliente obtienes el XML, y usas igual SimpleXML para crear un objeto de tu XML y puedes navegar por los nodos para obtener el resultado, si algo así sencillo puedes usar:
Código PHP:
echo $resultado->operation->param
Saludos.
  #8 (permalink)  
Antiguo 17/06/2008, 04:43
Avatar de elphaba  
Fecha de Ingreso: abril-2008
Ubicación: Ávila
Mensajes: 43
Antigüedad: 16 años
Puntos: 0
Respuesta: conexion curl

Ok, muchas gracias ya funciona

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:38.