Robospice, 418 I'm a teapot
Bonjour,
je doit réaliser une application communiquant avec un service web, classique. Et j'ai décidé d'utiliser Robospice pour la communication.
Mon souci est qu'a chaque exécutions de ma requête (extends SpringAndroidSpiceRequest) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
@Override
public User loadDataFromNetwork() throws Exception {
Map<String, String> parameters = new HashMap<String, String>();
parameters.put("email", email);
parameters.put("password", password);
parameters.put("firstname", firstName);
parameters.put("birthday", birthday);
parameters.put("sex", sex);
return getRestTemplate().postForObject("https://*******", null, User.class, parameters);
} |
J'ai une exception HttpClientErrorException : 418 I'm teapot. Apparemment c'est une blague mais je vous avoue que je ne l'a comprend pas :aie: et que ça commence a me fatiguer :mur:.
Je ne sais pas si ça joue mais je doit outre-passer la verification du certificat :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
public static void unTrustSLL(){
try {
HttpsURLConnection.setDefaultSSLSocketFactory(getSSLSocketFactory());
} catch (KeyManagementException e) {
Log.e(Tool.class.getSimpleName(), e.getLocalizedMessage());
} catch (NoSuchAlgorithmException e) {
Log.e(Tool.class.getSimpleName(), e.getLocalizedMessage());
}
}
private static SSLSocketFactory getSSLSocketFactory() throws NoSuchAlgorithmException, KeyManagementException{
final TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() {
@Override
public void checkClientTrusted(java.security.cert.X509Certificate[] chain, String authType)
throws CertificateException {}
@Override
public void checkServerTrusted(java.security.cert.X509Certificate[] chain, String authType)
throws CertificateException {}
@Override
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
}
};
final SSLContext sslContext = SSLContext.getInstance("TLS");
sslContext.init( null, trustAllCerts, new java.security.SecureRandom());
return sslContext.getSocketFactory();
} |
(Je sais c'est sale et ça rend vulnérable à une attaque HDM...)
En tout cas, je remercie tous ceux qui prendrons la peine de lire mon post :)