Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] curl no retorna nada

Estas en el tema de curl no retorna nada en el foro de PHP en Foros del Web. buenas tardes compañeros.... un problemilla , curl retorna bool(true), pero no el arreglo con la informacion tengo un metodo privado @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver ...
  #1 (permalink)  
Antiguo 02/07/2013, 15:04
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
curl no retorna nada

buenas tardes

compañeros....

un problemilla , curl retorna bool(true), pero no el arreglo con la informacion

tengo un metodo privado
Código PHP:
Ver original
  1. private function _getNodosRuta($parametros)
  2.     {
  3.         $output = array();
  4.         $parametrosSend     =   $parametros;
  5.         $ch = curl_init();
  6.         curl_setopt($ch, CURLOPT_URL, 'http://192.168.1.27/portalFolio/prueba.php');
  7.         curl_setopt($ch, CURLOPT_POST,1);
  8.         curl_setopt($ch, CURLOPT_POSTFIELDS, $parametrosSend);
  9.         //curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
  10.         $output = curl_exec($ch);  
  11.         curl_close ($ch);      
  12.         return $output;
  13.     }
  14.  
  15. // y lo llamo asi
  16.  
  17.             //obtenemos los datos
  18.             $parametrosArray = array("origen"=>serialize($id_grupo_arranque),
  19.                                   "destinos"=>serialize(array()),
  20.                                   "roles"=>serialize($this->_getRolesRegla()),
  21.                                   "nodos"=>serialize($this->_getNodosRegla())
  22.                                   );
  23.  
  24.             $nodosRutaArray = $this->_getNodosRuta($parametrosArray);
  25.  
  26.             var_dump($nodosRutaArray);



prueba.php

Código PHP:
Ver original
  1. $arregloSalida = array("1","2");
  2. return $arregloSalida;

Pero solo retorna bool(true) , deberia retornarme el arreglito.

que puede ser ?

aclaro que no soy muy experto manejando curl ..
  #2 (permalink)  
Antiguo 02/07/2013, 15:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: curl no retorna nada

No necesitas ser experto, necesitas leer el manual, si no especificas CURLOPT_RETURNTRANSFER entonces curl_exec() no devolverá el resultado obtenido sino un booleano.

Cita:
CURLOPT_RETURNTRANSFER TRUE to return the transfer as a string of the return value of curl_exec() instead of outputting it out directly.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 02/07/2013, 15:41
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: curl no retorna nada

hola


coloque esta linea

Código PHP:
Ver original
  1. curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);

pero ahora me retorna string(8) " " , no un arreglo . que sera ?
  #4 (permalink)  
Antiguo 02/07/2013, 15:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: curl no retorna nada

En el script prueba.php no puedes hacer eso, así no funciona PHP.

Debes imprimir un valor, y siempre debe ser texto, no se pueden pasar objetos ni arreglos de esa manera.

Una forma de conseguirlo es usar serialización para enviar los datos como texto y al recibir deserializarlos, lo mismo pasa si quieres utilizar JSON, consulta el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 02/07/2013, 16:10
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: curl no retorna nada

cuando dices imprimir te refieres a un echo serialize($array); ?

al momento de pasarlo por el unserialize debe ser despues de retornarlo o antes ?

Código PHP:
Ver original
  1. $nodosRutaArray = unserialize($this->_getNodosRuta($parametrosArray));
  2.             var_dump($nodosRutaArray);

o en la funcion

Código PHP:
Ver original
  1. $output = curl_exec($ch);  
  2.         curl_close ($ch);      
  3.         return unserialize($output);
  #6 (permalink)  
Antiguo 02/07/2013, 16:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: curl no retorna nada

Eso depende, ¿qué tanto comprendes lo que me estás diciendo?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 02/07/2013, 16:49
Avatar de informacionsys  
Fecha de Ingreso: mayo-2011
Ubicación: Bogota D.C
Mensajes: 793
Antigüedad: 12 años, 11 meses
Puntos: 76
Respuesta: curl no retorna nada

hola ya lo solucione , anteriormente en un proyecto se manejo curl, y me di cuenta que los datos que retorna curl es una cadena json encodificados

asi:

Código PHP:
Ver original
  1. echo json_encode($arregloSalida);


y en la respuesta de curl pues vuelvo a codificarlos

Código PHP:
Ver original
  1. $nodosRutaArray = json_decode($this->_getNodosRuta($parametrosArray));
  2. var_dump($nodosRutaArray);


y asi funcionoooo...... tenias toda la razon , se recibe y se envia como texto


muchas gracias por la ayuda...


Última edición por informacionsys; 02/07/2013 a las 17:08

Etiquetas: curl, nada, retorna
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 17:55.