Khi tôi muốn mở kết nối HTTPS, tôi nhận được Ngoại lệ SSL. Làm thế nào để thiết lập HttpURLConnection theo cách không nhạy cảm với ngoại lệ này?Tắt xác thực chứng chỉ SSL của kết nối HTTPS?
Mã của tôi là:
private String getData() {
String response = null;
String connection = "https://www.kamalan.com/";
try {
URL url = new URL(connection);
Log.i(TAG, "Try to open: " + connection);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
int responseCode = conn.getResponseCode();
Log.i(TAG, "Response code is: " + responseCode);
if (responseCode == HttpURLConnection.HTTP_OK) {
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
if (in != null) {
StringBuilder strBuilder = new StringBuilder();
int ch = 0;
while ((ch = in.read()) != -1)
strBuilder.append((char) ch);
// get returned message and show it
response = strBuilder.toString();
Log.i("JSON returned by server:", response);
}
in.close();
} else {
Log.e(TAG, "Couldn't open connection in getResepiItems()");
}
} catch (SSLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return response;
}
nào logcat nói gì? –
@Morrison Chang Đây là lỗi trong con mèo đăng nhập 'Gây ra bởi: java.security.cert.CertificateException: java.security.cert.CertPathValidatorException: Niềm tin neo cho đường dẫn chứng nhận không tìm thấy.' –
Bạn đã thấy bài đăng SO này: http: //stackoverflow.com/questions/6825226/trust-anchor-not-found-for-android-ssl-connection? –