j'ai réussi à tout travail asyncronously avec des cookies et https non signé.
J'ai utilisé le code ici:
http://masl.cis.gvsu.edu/2010/04/05/android-code-sample-asynchronous-http-connections/
et modifié pour https non signés en utilisant le code de Brian Yarger ici:
Self-signed SSL acceptance on Android
(Ajouter le code ci-dessus au début de l'exécution () dans HttpConnection.java)
Pour que les cookies fonctionnent, j'ai dû modifier du code (P extrait de l'OST de HttpConnection.java):
case POST:
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new StringEntity(data));
httpPost.addHeader("Cookie", Cookie.getCookie());
response = httpClient.execute(httpPost);
Header[] headers=response.getAllHeaders();
for(int i=0;i<headers.length;i++){
if(headers[i].getName().equalsIgnoreCase("Set-Cookie")){
//Log.i("i",headers[i].getName()+"---"+headers[i].getValue());
Cookie.setCookie(headers[i].getValue());
break;
}
}
break;
Un grand merci à tout le monde pour moi pointant dans la direction,
Salut, merci beaucoup pour votre réponse. Cela fonctionne très bien. Impossible d'obtenir des certificats non signés. En outre, des idées sur la façon dont je pourrais faire fonctionner votre code de manière asynchrone? Je ne veux pas que l'IU soit suspendue en attendant des réponses. – Eamorr
Comme David l'a dit, vous devez démarrer un nouveau thread et mettre l'action http post dans la méthode run. Les données peuvent être échangées entre les threads en utilisant le système de traitement Androids. Vous voudrez peut-être jeter un coup d'œil à la page sur les fondamentaux d'Android: http://developer.android.com/guide/topics/fundamentals.html#threads – marcus