31 votes

Android HttpClient et HTTPS

Je suis nouveau à la mise en œuvre des connexions HTTPS dans Android. Essentiellement, je suis en train d'essayer de se connecter à un serveur à l'aide de l'org.apache.http.client.HttpClient. Je crois que, à un certain point, je vais avoir besoin d'accéder à la demande du fichier de stockage des clés afin d'autoriser de mon client avec une clé privée. Mais, pour le moment, j'essaie juste de se connecter et voir ce qui se passe, je reçois un HTTP/1.1 400 Bad Request error.

Je n'arrive pas à faire des têtes ou queues de ce en dépit des nombreux exemples (aucun d'entre eux semblent fonctionner pour moi). Mon code ressemble à ça (le CORPS de la constante est XmlRPC):

 private void connect() throws IOException, URISyntaxException{

    HttpPost post     = new HttpPost(new URI(PROD_URL));
    HttpClient client = new DefaultHttpClient();

    post.setEntity(new StringEntity(BODY));
    HttpResponse result = client.execute(post);

    Log.d("MainActivity", result.getStatusLine().toString());

}

Donc, assez simple. Laissez-moi savoir si quelqu'un a des conseils. Merci!

16voto

synic Points 12644

Cela devrait vous aider à démarrer. J'utilise essentiellement la même chose, sauf avec ThreadSafeClientConnManager .

 SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("https", 
            SSLSocketFactory.getSocketFactory(), 443));

HttpParams params = new BasicHttpParams();

SingleClientConnManager mgr = new SingleClientConnManager(params, schemeRegistry);

HttpClient client = new DefaultHttpClient(mgr, params);
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X