Cliente Android para servicio web REST con seguridad básica

Tengo que escribir un simple servicio web RESTful utilizando la autenticación básica. Yo uso consejos de esta página secureRestWS . También han creado un video y publicado en youtube con más detalles. Funciona muy bien cuando se abre en el navegador. Debe escribir Nombre de usuario y Contraseña en la ventana de autorización.

También he encontrado una página con el cliente androide que llaman servicio web de descanso utilizando httpclient y si el servicio web es sin autenticación funciona. Estoy utilizando este ejemplo androidRestWSClient . Pero no sé cómo agregar nombre de usuario y contraseña en este escenario, he intentado como:

client.AddParam("User Name", "myusername"); client.AddParam("Password", "mypassword"); 

O en encabezado:

 client.AddHeader("User Name", "myusername"); client.AddHeader("Password", "mypassword"); 

Pero nada funciona. También intento crear url que diga el nombre de usuario y la contraseña del servicio web como:

 http://192.168.1.42/RestWS/resources/helloWorld?username=myusername&password=mypassword 

Realmente no tengo una solución para esto, así que si alguien tiene un cliente de ejemplo, lo agradecería.

En webservice tengo método GET simple

 @GET @Path("/text") public String getText() { return "Hello World!"; } 

¿Necesito usar SecurityContext para el nombre de usuario y la contraseña? ¿Es mejor crear autenticación manualmente como en este ejemplo:

 http://aruld.info/accessing-restful-services-configured-with-ssl-using-resttemplate/ 

Gracias por tu ayuda

Si está utilizando la autenticación HTTP básica, la URL debería tener el siguiente aspecto:

 http://username:[email protected]/RestWS/resources/helloWorld 

Bueno, aquí tienes – y no te olvides de Upvote y marcar como contestado si esto funciona :):

 HttpGet httpget; try{ httpget = new HttpGet(url); String auth =new String(Base64.encode(( username + ":" + password).getBytes(),Base64.URL_SAFE|Base64.NO_WRAP)); httpget.addHeader("Authorization", "Basic " + auth); } 
  • Cómo hacer que el servicio Web ASP.NET Web API esté disponible en la red local
  • ¿Hay una manera de verificar si los datos no se alteran durante el envío a un servicio web (utilizando la conexión HTTP)?
  • Desarrollador web visual Servicio web en depuración HTTP / 1.1 400 Solicitud incorrecta
  • ¿Cómo puedo recibir notificaciones múltiples usando GCM sin reemplazar la precedente?
  • Hacer formas dinámicas (el mejor enfoque)
  • SOAP xml a cambio - Android
  • Cómo utilizar la sesión para trabajar entre php webservices y android
  • Envío de SQLite db al servicio web
  • Conexión a host local: 3000 rechazado en dispositivo Android
  • SoapFault - código de error: 'soap: Server' faultstring: 'System.Web.Services.Protocols.SoapException:
  • Cómo llamar a un servicio web SOAP en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.