Provare quanto segue. Ho aggiunto SSLSocketFactory per gestire le connessioni SSL, inoltre aggiunge il supporto per la gestione di più connessioni simultaneamente utilizzando ThreadSafeClientConnManager. È possibile rimuovere il timeout del socket e i timeout della connessione.
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
schemeRegistry.register(new Scheme("mxiss", SSLSocketFactory.getSocketFactory(), 443));
HttpParams params = new BasicHttpParams();
int timeoutConnection = 5000;
HttpConnectionParams.setConnectionTimeout(params, timeoutConnection);
int timeoutSocket = 10000;
HttpConnectionParams.setSoTimeout(params, timeoutSocket);
params.setParameter(ConnManagerPNames.MAX_TOTAL_CONNECTIONS, 30);
params.setParameter(ConnManagerPNames.MAX_CONNECTIONS_PER_ROUTE, new ConnPerRouteBean(30));
params.setParameter(HttpProtocolParams.USE_EXPECT_CONTINUE, false);
HttpProtocolParams.setVersion(params, HttpVersion.HTTP_1_1);
ThreadSafeClientConnManager cm = new ThreadSafeClientConnManager(params, schemeRegistry);
_client = new DefaultHttpClient(cm, params);
Spero che questo aiuti.
Se il client non si fida del certificato del server, registrare un protocollo diverso e accettare tutti i certificati per tale protocollo. Dovresti prima registrare il protocollo prima di fare qualsiasi cosa.
Protocol mxiss = new Protocol("mxiss", new EasySSLProtocolSocketFactory(), 443);
Protocol.registerProtocol("mxiss", mxiss);
Poi invece di "https" bisogna usare "mxiss"
EasySSLProtocolSocketFactory viene da org.apache.commons.httpclient.contrib.ssl. Inserisci il file jar http://repo1.maven.org/maven2/ca/juliusdavies/not-yet-commons-ssl/0.3.11/not-yet-commons-ssl-0.3.11.jar nel classpath.
I certificati SSL sono validi o si sta utilizzando un server di sviluppo? –
Forse questo http://stackoverflow.com/questions/3761737/https-get-ssl-with-android-and-self-signed-server-certificate –
Ho lo stesso problema, hai trovato una soluzione funzionante per Questo ? –