Hola César, espero que estés bien
Parece que estás teniendo problemas con el redireccionamiento y la obtención de datos de una API en tu aplicación Java. A partir del código que compartiste, parece que ya estás configurando el cliente HTTP para seguir redirecciones automáticamente con HttpClient.Redirect.ALWAYS
. Esto debería manejar los redireccionamientos 301 automáticamente.
Sin embargo, si aún estás enfrentando problemas, aquí hay algunas cosas que podrías verificar o intentar:
Verifica la URL: Asegúrate de que la URL que estás utilizando es correcta y que realmente está devolviendo un JSON. Puedes probar la URL directamente en un navegador o con herramientas como Postman para verificar la respuesta.
Cabeceras y Autenticación: Asegúrate de que todas las cabeceras necesarias están incluidas en la solicitud. Si la API requiere autenticación, verifica que estás enviando los tokens o credenciales correctas.
Depuración: Puedes agregar más mensajes de depuración para ver el flujo de la ejecución. Por ejemplo, imprime el cuerpo de la respuesta incluso si el código de estado no es 2xx. Esto puede darte pistas sobre qué está fallando.
Errores de Redirección: Si la redirección no está funcionando como esperas, verifica si hay algún mensaje de error específico en el cuerpo de la respuesta que pueda indicar el problema.
Prueba con Otro Cliente HTTP: Si el problema persiste, podrías intentar usar otra biblioteca de cliente HTTP como Apache HttpClient o OkHttp para ver si el comportamiento es diferente.
Aquí tienes un ejemplo de cómo podrías agregar más mensajes de depuración:
System.out.println("URL solicitada: " + url);
System.out.println("Código de estado HTTP: " + statusCode);
System.out.println("Cuerpo de la respuesta: " + response.body());
Espero que estas sugerencias te sean útiles para resolver el problema de redireccionamiento y obtención de datos. ¡Espero haber ayudado y buenos estudios!