Nella mia app Android, sto inviando i dati a un URL https
servlet da un WebView
come illustrato di seguitoAndroid WebView.postUrl() mostrando schermata vuota quando si postano a HTTPS URL
String postData = "fileContents=" + fileCon;
WebView.postUrl(url, EncodingUtils.getBytes(postData, "BASE64"));
L'URL nel codice sopra è un URL servlet per il quale devo pubblicare alcuni dati e da li sto reindirizzando verso qualche altro URL.
Il codice precedente ha funzionato correttamente quando l'URL del servlet è solo HTTP
. Ma quando cambiato in HTTPS
, sta mostrando uno schermo vuoto.
Ho provato la seguente soluzione per Android HTTPS
problema: http://blog.antoine.li/index.php/2010/10/android-trusting-ssl-certificates/
ho rimosso il codice di cui sopra da onCreate()
metodo e provato il seguente codice
ArrayList<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("fileContents", fileCon));
DefaultHttpClient client = new MyHttpClient(getApplicationContext());
try {
HttpPost request = new HttpPost(url);
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
request.setEntity(formEntity);
HttpResponse resp = client.execute(request);
} catch(Exception e){
e.printStackTrace();
}
Ora sono in grado di inviare i dati e da ci sta anche reindirizzando. Ma continuo a vedere uno schermo vuoto.
È perché non ho né loadUrl
né uno postUrl
Vedo uno schermo vuoto?
O dovrei inserire il codice sopra in qualsiasi metodo di WebView
?
Prova questa http://stackoverflow.com/a/10970539/1008278 – VenomVendor