PHP - No extrae datos desde url en formato json

 
Vista:
sin imagen de perfil
Val: 16
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por Ulises (10 intervenciones) el 16/10/2018 17:13:09
Hola,

Tengo que extraer datos desde una url, hice un pequeño programa que extrae estos mediante curl pero no me arroja ningún dato, este es el código:

1
2
3
4
5
6
7
$url = "https://www.ventas.blobel.cl/jsonOrden/38512/e5ab4853e6b01669cb076f3f4d4209f2";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
echo $data;

Tengo instalado wamp 2.5 32 bits

Me pueden dar una orientación?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.463
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por xve (6934 intervenciones) el 16/10/2018 17:45:42
Hola Ulises, yo he probado el código y funciona perfectamente!!!

No indicas que error te da, por lo que lo único que se me ocurre, es que no tengas habilitado el curl en tu php!!!

Los pasos para hablitar CURL en WAMPSERVER son:
1.- cerrar WAMP
2.- ir a WAMP\bin\php\(tu versión de php)\
3.- edita el php.ini
4.- buscar curl, y descomenta la linea extension=php_curl.dll
5.- ir a WAMP\bin\Apache\(tu versión de apache)\bin\
6.- edita php.ini
7.- buscar curl, y descomenta la linea extension=php_curl.dll
8.- inicia wamp

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por Ulises (10 intervenciones) el 16/10/2018 17:53:12
Gracias xve por tu respuesta,

Respondo:

1.- Cuando corro el php, no me da ningún error, en el browser he analizado mediante F12 y tanto en la consola como en network no dice nada.
2.- Tanto el php.ini que esta en apache y en php esta descomentada la línea referente a la extension=php_curl.dll.

He probado en varios servidores donde tengo instaldo wamp 32 y 64 bits y nada me muestra.

Que versión de wamp tienes instalado tú?

Que extensiones tienes habilitadas? a lo mejor me falta otra extension...

Slds
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.463
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por xve (6934 intervenciones) el 16/10/2018 18:15:50
Hola Ulises, revisa el log de errores de apache, seguramente ahi te indicara que puede estar pasando.

Has revisado que el archivo php_curl.dll exista?

Yo utilizo Linux, por lo que utilizo el apache y php de los paquetes que trae la distribución que utilizo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.107
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por Yamil Bracho (886 intervenciones) el 16/10/2018 18:18:32
Tu prolblema es en tratamiento del SSL. Dile a curl que lo ignore.

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por Ulises (10 intervenciones) el 16/10/2018 18:29:20
Gracias por tu respuesta,

Modifiqué el código pero aún así nada muestra, adjunto código:

1
2
3
4
5
6
7
8
9
10
ini_set("display_errors", 1);
error_reporting(-1);
$url = "https://www.ventas.blobel.cl/jsonOrden/38512/e5ab4853e6b01669cb076f3f4d4209f2";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$data = curl_exec($ch);
curl_close($ch);
echo $data;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.107
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por Yamil Bracho (886 intervenciones) el 16/10/2018 18:44:40
Copie y peguee el codigo que muestras y me funciono perfecto...
Bueno vamos a ver que error pudiera estar dando.

Antes del curl_close coloca :

1
2
$errors = curl_error($ch);
$response = curl_getinfo($ch, CURLINFO_HTTP_CODE);

y despues del curl_close agrega
1
2
var_dump($content);
var_dump($errors);

A ver que dice...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por Ulises (10 intervenciones) el 16/10/2018 18:56:55
Al fin está saliendo algo...

Dice :

int 0
string 'Unknown SSL protocol error in connection to www.ventas.blobel.cl:443 ' (length=69)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 1.107
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por Yamil Bracho (886 intervenciones) el 16/10/2018 19:07:47
Bueno esta ese error de conexion, Unknown SSL protocol error in connection
Asi que ya sabes que es algo con la configuracion del equipo donde estas ejecutando el script de php.
Buscando por google vi que a otra persona le salio algo parecido y probo
curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4);

prueba a ver si funciona asi. (jejej aqui estamos tirando flechas... :-))
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 16
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por Ulises (10 intervenciones) el 16/10/2018 19:23:38
Gracias,

Veré que sucede con esto y comentaré...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.937
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No extrae datos desde url en formato json

Publicado por kip (877 intervenciones) el 16/10/2018 22:52:21
Hola, aquel error que mencionas posiblemente se deba a que el protocolo que usa la url que intentas navegar con curl es uno que tu version PHP no reconoce, si colocas la constante CURLOPT_VERBOSE a true como opción usando curl_setopt() podrás ver algo de lo que menciono, en mi caso(que si funciona) puedo ver el protocolo que usa entre las líneas que muestra:

1
2
* STATE: SENDPROTOCONNECT => PROTOCONNECT handle 0x600282ec0; line 1587 (connection #0)
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256

Lo que te recomiendo para solucionar este error es habilitar la extensión OpenSSL, tambien puedes instalar una version de PHP mayor a la 5.5, ya que a partir de esa versión puede usarse este protocolo en curl CURL_SSLVERSION_TLSv1_2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar