Foros del Web » Programación para mayores de 30 ;) » Java »

Respuesta de una URL con sendRedirect

Estas en el tema de Respuesta de una URL con sendRedirect en el foro de Java en Foros del Web. Hola a todos, estoy haciendo un servlet en el que hago un redirect y funciona correctamente, ahora lo que necesito saber es la respuesta de ...
  #1 (permalink)  
Antiguo 20/06/2011, 13:26
Avatar de zaccarelliasbun  
Fecha de Ingreso: mayo-2009
Ubicación: Bolivia
Mensajes: 70
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta de una URL con sendRedirect

Hola a todos, estoy haciendo un servlet en el que hago un redirect y funciona correctamente, ahora lo que necesito saber es la respuesta de la pagina a la que envio, si está activa o habilitada, por ejemplo:

Código PHP:
response.sendRedirect(url); 
me envia a paginas http, https, etc. pero no tengo una respuesta de la pagina si la peticion fue correcta, ahora por otra parte intento hacer esto:

Código PHP:
HttpURLConnection connection null;
connection = (HttpURLConnection) new URL(url).openConnection();
int status connection.getResponseCode();

status 200 OK
status 
503 Service Unavailable
status 
403 Forbidden
.....etc 
éste código no me funciona para paginas https, y aparte me realiza una peticion a la url al hacer openConnection(); + response.sendRedirect serían 2 peticiones.

Lo que necesito es hacer el response.sendRedirect y obtener la respuesta de la URL para guardar en los logs si la petición fue correcta, hay alguna posibilidad de hacer esto?

Gracias por su ayuda.
  #2 (permalink)  
Antiguo 20/06/2011, 14:10
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Respuesta de una URL con sendRedirect

Tal y cómo yo entiendo el sendredirect, es normal que no recibas respuesta, ya que lo que estás haciendo es decirle al servlet qué tiene que devolver al navegador que hizo la solicitud.

En el caso del sendredirect, una nueva url que el navegador debe pedir, y que por supuesto no puedes controlar qué hará el navegador con ella.

Por lo tanto, si yo quisiera comprobar si la web está operativa, haría lo que haces, comprobarla con el connection. Pero claro, lo que compruebas es que la página existe, no que el navegador que hace la petición llegue a esa URL, ya que realmente estás realizando tu propia petición.

Sobre lo del https, parece que es un problema de licencias, por lo que no viene por defecto.

Cita:
Conclusion

Using the HTTPS protocol between applications can be a quick and effective way to gain a reasonable level of security in your communication. Unfortunately, the reasons that it is not supported as part of the standard Java specification appear to be more legal than technical. However, with the advent of the JSSE and the use of Microsoft's com.ms.net.winint package, secure communication is possible from most platforms with only a few lines of code.
http://www.javaworld.com/javaworld/j...96.html?page=3
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #3 (permalink)  
Antiguo 20/06/2011, 14:21
Avatar de zaccarelliasbun  
Fecha de Ingreso: mayo-2009
Ubicación: Bolivia
Mensajes: 70
Antigüedad: 14 años, 10 meses
Puntos: 1
Respuesta: Respuesta de una URL con sendRedirect

Gracias por tu respuesta, pero lo raro es que con el openConnection, me da error de la pagina pero sin embargo ingresa normalmente, por ej una url local:

Código PHP:
https://10.20.0.1:8443/
respuesta url403 ERROR 
pero sin embargo en la web ingresa normalmente pero por debajo en los logs me da error 403.

En el tema de https, me devuelve un error que obviamente con el sendRedirect no me devuelve ese error:

Código PHP:
ERROR sun.security.validator.ValidatorExceptionPKIX path building failedsun.security.provider.certpath.SunCertPathBuilderExceptionunable to find valid certification path to requested target 

Etiquetas: respuesta, url
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:48.