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

API HttpClient

Estas en el tema de API HttpClient en el foro de Java en Foros del Web. Hola a todos, saludos, Mi problema es que necesito autentificar una aplicación. Actualmente tengo una aplicación que contiene un servlet y en el método post ...
  #1 (permalink)  
Antiguo 16/08/2013, 10:12
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 11 años, 6 meses
Puntos: 3
API HttpClient

Hola a todos, saludos,
Mi problema es que necesito autentificar una aplicación. Actualmente tengo una aplicación que contiene un servlet y en el método post tengo esto:

System.out.println(request.getHeader("Authorizatio n"));

Lo que quiero mostrar es este parámetro pero me sale un null.
La solicitud la hago con HttpClient 3.1 y tengo esto:

HttpClient client= new HttpClient();
method= new PostMethod(url);
UsernamePasswordCredentials credentials =new UsernamePasswordCredentials("jhonn", "123");
client.getState().setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM), credentials);
int codigoRespuesta=client.executeMethod(method);

Cuando ejecuto el cliente la respuesta es un 200 pero el parámetro Authorization me da null cuando debería mostrar algún contenido codificado en base64 como dice la Doc.
Otra cosa es que no se para que me sirve esto, y es que busco pero lo que dice la documentación en ingles no la entiendo:
client.getParams().setAuthenticationPreemptive(tru e);
con esto la respuesta de la aplicación es 401 pero el parametro Authorization siempre es null. Ya intenté con
method.setDoAuthentication(true);
pero nada. Por favor, alguien tiene idea de que puede pasar. Lo que me parece mas raro es que esto ya lo había hecho pero no se porque no me funciona ahora, por lo menos quisiera saber si está bien y si el problema puede venir del contenedor de aplicaciones. Y si alguien me puede explicar para que sirve este método:
client.getParams().setAuthenticationPreemptive(tru e);
Muchas gracias por la ayuda, Saludos,
  #2 (permalink)  
Antiguo 18/08/2013, 07:23
 
Fecha de Ingreso: marzo-2012
Ubicación: Argentina
Mensajes: 111
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: API HttpClient

Hola;

1ª etiquetas de codigo!!!, es muy engorroso leer tu post como lo escribiste.

2ª Le estas pasando bien el nombre del header?
  #3 (permalink)  
Antiguo 20/08/2013, 07:00
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 11 años, 6 meses
Puntos: 3
Respuesta: API HttpClient

Hola,
Bueno cuando dices que si le estás pasando bien el nombre del header, pienso que la api HttpClient lo coloca cuando hago esto en el código.
Código Java:
Ver original
  1. client.getState().setCredentials(new AuthScope(AuthScope.ANY_HOST, AuthScope.ANY_PORT, AuthScope.ANY_REALM), credentials);

Esto sacado de:
http://hc.apache.org/httpclient-legacy/authentication.html

Gracias por la respuesta.
  #4 (permalink)  
Antiguo 20/08/2013, 14:06
 
Fecha de Ingreso: marzo-2012
Ubicación: Argentina
Mensajes: 111
Antigüedad: 12 años, 8 meses
Puntos: 12
Respuesta: API HttpClient

Cita:
request.getHeader("Authorizatio n")
En este método le pasas el nombre del header, a eso me refiero.
  #5 (permalink)  
Antiguo 20/08/2013, 15:00
 
Fecha de Ingreso: mayo-2013
Ubicación: Armenia, Quindio, Colombia,
Mensajes: 95
Antigüedad: 11 años, 6 meses
Puntos: 3
Respuesta: API HttpClient

Ha bueno, si me equivoque copiandolo acá pero en el código si lo utilizo bien. Lo que quiero verificar es si este campo si se esta yendo bien en la solicitud tratando de coger una trama con el wireshark pero no he podido.

Etiquetas: api
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 13:49.