Comment faire de l'authentification HTTP dans android?
Je suis de la vérification de la classe org.apache.http.auth.
Plus de référence ou par exemple si quelqu'un a?
- Est-ce une question sur les applications Android authentification ou juste au sujet de l'authentification pour une application web, qui pourrait fonctionner sur Android?
- Pour le web d'authentification(l'authentification http) pour les informations d'identification d'utilisateur(nom d'utilisateur,mot de passe)
Vous devez vous connecter pour publier un commentaire.
Je n'ai pas rencontré ce paquet en particulier avant, mais il dit que c'est pour le côté client d'authentification HTTP, que j'ai été capable de faire sur Android à l'aide de la
java.net
Api, comme suit:Évidemment votre getPasswordAuthentication() devrait probablement faire quelque chose de plus intelligent que de retourner une constante.
Si vous êtes en essayant de faire une demande auprès d'un organisme (par exemple,
POST
) avec authentification, méfiez-vous des Android question 4326. J'ai lié un correctif proposé à la plate-forme, mais il y a une solution simple si vous ne voulez Basic auth: ne vous embêtez pas avec Authentificateur, et au lieu de faire ceci:android.util
. J'ai été en utilisantksoap2-android
quand j'ai découvert cela, et ils ont une mise en œuvre qui ne dépend que dejava.io
, de sorte que vous pouvez simplement saisir la classe (sous réserve de son autorisation de cours) à partir de: kobjects.cvs.sourceforge.net/kobjects/kobjects/src/org/kobjects/...Base64.encodeToString
dans votre exemple avecc.setRequestProperty
sinon, vous êtes de la concaténation d'une base64 tableau avec une chaîne.Pour moi, il a travaillé,
Apache HttpCLient:
HttpUrlConnection:
Vous pouvez insérer manuellement en-tête http de la demande:
Méthode manuelle fonctionne bien avec l'import android.util.Base64, mais assurez-vous de mettre en Base64.NO_WRAP sur l'appel de coder:
Pour mon Android des projets, j'ai utilisé le Base64 de la bibliothèque à partir d'ici:
http://iharder.net/base64
C'est une très vaste bibliothèque et jusqu'à présent je n'ai eu aucun problème avec elle.
Cela fonctionne pour moi