Stack Overflow en español Asked by senseye3led on November 24, 2021
Tengo un servidor Win con PHP: 5.4.45 y cURL: 7.42.1, quiero obtener un JSON de una web concreta para ello utilizo el siguiente código:
<?php
error_reporting(E_ALL);
function file_get_contents_curl( $url ) {
$ch = curl_init();
curl_setopt( $ch, CURLOPT_AUTOREFERER, TRUE );
curl_setopt( $ch, CURLOPT_HEADER, 0 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_URL, $url );
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, TRUE );
$data = curl_exec( $ch );
curl_close( $ch );
return $data;
}
$json_string = 'https://api.sheety.co/uk-theme-parks';
$jsondata = file_get_contents_curl($json_string);
var_dump($jsondata); echo '<br>';
$obj = json_decode($jsondata);
var_dump($obj);
echo '<br>';
?>
En mí máquina recibo la siguiente respuesta:
bool(false)
NULL
He probado en PhpFiddle y parece que el código es correcto. He probado con códigos básicos de cURL por si pudiera ser alguna configuración de FW de mi entorno y cURL funciona correctamente.
<?php
error_reporting(E_ALL);
function do_curl($url_json){
$response = array();
$ch = curl_init($url_json);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
$json_string = 'https://api.sheety.co/uk-theme-parks';
$jsondata = do_curl($json_string);
//var_dump($jsondata); echo '<br>';
$obj = json_encode(json_decode($jsondata), TRUE);
echo '<pre>';
print_r($obj);
echo '</pre>';
?>
Prueba con sólo 2 OPT: curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 0);
Answered by NeoCodigoCom on November 24, 2021
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP