Poka
VIP
Iota
Verificación en dos pasos activada
¡Ha verificado su Paypal!
Verificado por Binance
Suscripción a IA
$numero_de_identificacion = filter_input(INPUT_POST, 'numero', FILTER_SANITIZE_NUMBER_INT);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'URL DONDE TRAIGO EL JSON'. $numero_de_identificacion);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
$data = json_decode( $data,true );
puede ser por falta de algun headers en la solicitud pero no estoy seguro habria que analizar la url para saber con exactitudHola, tengo el siguiente código que estaba funcionando bien pero ahora dejo de funcionar sin que haya tocado algo.
Lo unico que quite aqui en el codigo es "URL DONDE TRAIGO EL JSON". Eso esta funcionando bien, ya lo probé y te devuelve un JSON. El problema es que el código no esta trayendo bien la data de ese JSON. Alguna idea de porque dejo de funcionar? PHP se actualizó o algo así?
PHP:$numero_de_identificacion = filter_input(INPUT_POST, 'numero', FILTER_SANITIZE_NUMBER_INT); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'URL DONDE TRAIGO EL JSON'. $numero_de_identificacion); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 0); $data = curl_exec($ch); curl_close($ch); $data = json_decode( $data,true );
Gracias
PHP Notice: Trying to access array offset on value of type null in RUTAY qué te aparece en el error.log?
debes validar en el json que si RUTA es null te le asigne algun valor, RUTA trae null.PHP Notice: Trying to access array offset on value of type null in RUTA
Eso me sale
$numero_de_identificacion = '33162';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.zippopotam.us/us/'. $numero_de_identificacion);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
// Agregue esto por que no me dejaba en local
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
// Agregue esto por que no me dejaba en local
$data = curl_exec($ch);
curl_close($ch);
$data = json_decode( $data,true );
Me devuelve NULL. Es como si no estuviese pudiendo llamar a la url, pero si entro yo directo o desde postman si me hace bien el llamado. Puede ser que el servidor este bloqueando la ip y por eso no me trae la información?debes validar en el json que si RUTA es null te le asigne algun valor, RUTA trae null.
Creo que el curl está bien.
Yo hice la prueba con un api publica
Ver el archivo adjunto 921152JavaScript:$numero_de_identificacion = '33162'; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://api.zippopotam.us/us/'. $numero_de_identificacion); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, 0); // Agregue esto por que no me dejaba en local curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // Agregue esto por que no me dejaba en local $data = curl_exec($ch); curl_close($ch); $data = json_decode( $data,true );
Ahora, tienes la documentación actualizada?? te recomiendo agregues un var_dump($data) despues del json_decode y un die(); para ver si te trae ruta o si la estructura del Json es igual. Ademas mira el error log, ahi te puede decir la linea donde esta fallando el proceso
Si tienes acceso por consola, le haria un curl directo, poniendo estatico el numero de identificacion, para ver si me devuelve algoMe devuelve NULL. Es como si no estuviese pudiendo llamar a la url, pero si entro yo directo o desde postman si me hace bien el llamado. Puede ser que el servidor este bloqueando la ip y por eso no me trae la información?
curl -o test.json URL.com/IDENTIFICACION
cat test.json
Sí, desde el hosting no me dan ayuda con el bloqueosigues con el error?
¿Y si te haces un proxy?Sí, desde el hosting no me dan ayuda con el bloqueo
if (isset($data) && isset($data['offset'])) {
// El array existe y el elemento del array también, por lo que se puede acceder a ellos sin problemas
$offset = $data['offset'];
} else {
// El array o el elemento del array no existen, por lo que no se pueden acceder a ellos
$offset = null;
}
Sí, me bloquearon. Lo cual es raro porque es mi propio servidor. Estoy viendo con banahosting como resolverlo.quizá te bloquearon el acceso por ip, intenta usar proxies
bajale una version de phpsin que haya tocado algo.
no es cosa de servidor, porque así te cambien de servidor/ip podría pasar lo mismo. Si tiene políticas de evitar muchas peticiones seguidas desde una misma ip seguirá el mismo curso.Sí, me bloquearon. Lo cual es raro porque es mi propio servidor. Estoy viendo con banahosting como resolverlo.
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?