-2
У меня есть следующий код:Android Попытка доверять самостоятельно подписанный сертификат, получить не равной ошибку связи
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();
я получаю следующий вопрос:
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
Что я делаю неправильно?
'Connection .. refused' предлагает сервер вниз. Действительно ли он слушает порт 8090? Правильный IP-адрес? Любой брандмауэр SW блокирует соединения? Наконец, если это сервер разработки (PHP, Python), как правило, привязан к 127.0.0.1, поэтому соединения должны быть локальными и будут терпеть неудачу, если они находятся на другой машине или IF. Это так? –
Мне удалось пройти мимо этого. но теперь я получаю сообщение об отсутствии сертификата партнера. –
Какой сервер вы используете? Похоже, ваше соединение - простой HTTP, без шифрования SSL/TLS. –