I have the following code:
AsyncTask asyncTask = new AsyncTask() {
@Override
protected Object doInBackground(Object[] params) {
try {
HostnameVerifier hostnameVerifier = org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER;
DefaultHttpClient client = new DefaultHttpClient();
SchemeRegistry registry = new SchemeRegistry();
SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();
socketFactory.setHostnameVerifier((X509HostnameVerifier) hostnameVerifier);
registry.register(new Scheme("https", socketFactory, 443));
SingleClientConnManager mgr = new SingleClientConnManager(client.getParams(), registry);
DefaultHttpClient httpClient = new DefaultHttpClient(mgr, client.getParams());
// Set verifier
HttpsURLConnection.setDefaultHostnameVerifier(hostnameVerifier);
// Example send http request
final String url = "https://192.168.1.13:8090/version";
HttpPost httpPost = new HttpPost(url);
HttpResponse response = httpClient.execute(httpPost);
Log.i("","response is:" + response);
}catch (Exception e){
Log.e("","error trying to get:" + e.getMessage());
}
return null;
}
};
asyncTask.execute();
I get the following issue:
10-12 10:53:37.546: E/(24916): error trying to get:No peer certificate
10-12 10:53:38.890: E/Finsky(18904): [1] com.google.android.vending.verifier.ah.a(713): Verification id=44 error response com.android.volley.NoConnectionError: java.net.UnknownHostException: Unable to resolve host "safebrowsing.google.com": No address associated with hostname
What am I doing wrong?
I did manage to get the correct response using this method:
AsyncTask asyncTask = new AsyncTask() {
@Override
protected Object doInBackground(Object[] params) {
HttpsURLConnection conn = null;
try {
URL url = new URL("https://192.168.1.13:8090/version");
conn = (HttpsURLConnection) url.openConnection();
conn.setSSLSocketFactory(SSLCertificateSocketFactory.getInsecure(0, null));
conn.setHostnameVerifier(new AllowAllHostnameVerifier());
conn.setRequestProperty("Accept-Charset", "UTF-8");
conn.connect();
InputStream response = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(response, "utf8"));
StringBuffer sb = new StringBuffer();
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line);
}
String data = sb.toString();
Log.i("","response is:" + data);
} catch (MalformedURLException e) {
Log.e("","error trying to get conn:" + e.getMessage());
} catch (IOException e) {
Log.e("","error trying to get conn2:" + e.getMessage());
}
return null;
}
};
asyncTask.execute();