Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 28/11/18, 12:58:44
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
interrogacion Como saber si una direccion web existe o no

Sabeis si en Android se puede detectar si una direccion url existe en un servidor?, Necesito hacer unas consultas a un servidor, funciona correctamente a no ser que al hacerlas la direccion no exista o si el servidor esta caido etc .
__________________
Responder Con Cita


  #2  
Viejo 28/11/18, 14:25:12
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,202
Tu operador: -

Tienes que mirar los códigos de respuesta de la petición, cómo depende de qué biblioteca estés usando.

Hay varios casos, lo primero es distinguir que no pueda conectar con el servidor (y entonces no sabes si existe o no) de si conectó bien.

Si conectó tendrás el código de la respuesta HTTP, 200 es que fue bien y tienes el recurso, 404 es no encontrado (no existe esa URL), 500 error interno del servidor (que no quiere decir que la URL exista o no), etc.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 28/11/18, 18:04:56
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
No uso ninguna libreria mocelet, simplemente leo unarchivo de texto en un servidor con BufferedReader, lo que pasa es que si el servidor esta caido me lanza error
[php]BufferedReader bufferReader = new BufferedReader(new InputStreamReader(textUrl.openStream()));//... etc, etc
[/php]
__________________
Responder Con Cita
  #4  
Viejo 29/11/18, 08:51:46
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,202
Tu operador: -

OK, tienes que hacerlo en dos pasos, en vez de llamar a textUrl.openStream directamente, primero abre la conexión con "(HttpURLConnection) textUrl.openConnection". Asegúrate de que la variable donde lo guardas es del tipo HttpURLConnection y que haces el casting.

Si eso falla saltará una IOException que indica que ha habido un error al conectar con el servidor.

Si no falla, comprueba el código de respuesta con getResponseCode, si es 200 es que todo es correcto, si es 404 es no encontrado, en fin, los códigos de respuesta de HTTP habituales.

Si la respuesta es 200 y todo está bien puedes llamar al getInputStream para leer el contenido.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!

Última edición por mocelet Día 29/11/18 a las 08:57:07.
Responder Con Cita
Gracias de parte de:
  #5  
Viejo 29/11/18, 10:07:19
Array

[xs_avatar]
kaiser75 kaiser75 no está en línea
Miembro del foro
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Gracias mocelet, ahora si funciona perfectamente
__________________
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 23:39:01 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /