Я пытаюсь создать функцию поиска места в своем приложении с помощью api GoogleMap для Android. Я хочу заполнить AutoComplete TextView, поскольку пользователь вводит имя места. Но я получаю эту Excetion при вызове urlConnection.connect();
заявление:javax.net.ssl.SSLProtocolException при вызове HttpUrlConnection.connect()
javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0xb911cd50: Failure in SSL library, usually a protocol error
error:1407743E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert inappropriate fallback (external/openssl/ssl/s23_clnt.c:765 0xae688edd:0x00000000)
Ниже приведен код, я использую:
private String downloadUrl(String strUrl) throws IOException {
String data = "";
InputStream iStream = null;
HttpURLConnection urlConnection = null;
try {
URL url = new URL(strUrl);
// Creating an http connection to communicate with url
urlConnection = (HttpURLConnection) url.openConnection();
// Connecting to url
urlConnection.connect();
// Reading data from url
iStream = urlConnection.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(iStream));
StringBuffer sb = new StringBuffer();
String line = "";
while ((line = br.readLine()) != null) {
sb.append(line);
}
data = sb.toString();
br.close();
} catch (Exception e) {
Log.d("Exception while downloading url", e.toString());
} finally {
iStream.close();
urlConnection.disconnect();
}
return data;
}
private String getPlacesUrl(String qry) {
try {
qry = "input=" + URLEncoder.encode(qry, "utf-8");
} catch (UnsupportedEncodingException e1) {
e1.printStackTrace();
}
// Sensor enabled
String sensor = "sensor=false";
// place type to be searched
String types = "types=geocode";
// Building the parameters to the web service
String parameters = qry + "&" + types + "&" + sensor + "&" + mKey;
// Output format
String output = "json";
// Building the url to the web service
String url = "https://maps.googleapis.com/maps/api/place/autocomplete/" + output + "?" + parameters;
return url;
}
Я зарегистрировал свои приложения пакета и SHA1 моей системы в Google консоли , URL, что я получаю после вызова getPlaceUrl()
метод имеет такого типа:
Пожалуйста, помогите мне решить эту проблему.
см http://stackoverflow.com/questions/20741405/javax-net-ssl-sslexception-ssl-handshake-aborted-connection-reset-by-peer-while. может быть полезно –
@shayanpourvatan здесь сервер является сервером GoogleMap. Я не думаю, что поддержка протокола TLS 1.0 не существует – Jaguar
Какой уровень устройства/API вы выполняете? Протоколы SSL и TLS и шифры зависят от используемой ОС. – Robert