====== Insecurity HTTPS Connection ====== The basic idea is to initial the SSLContext with a TrustManager that would never throw exception. :!::!::!: This method is not secure, and can be attacked by ''Man-in-the-middle attack''. __**THIS METHOD SHOULD NEVER USE IN PRODUCTION.**__:!::!::!: For production, consider using [[adding_crt_to_java_cacerts|Adding crt to Java cacerts]]. Do not say I did not warn you. A better method would be add the keystore to your Java trust store, which would not be show here. ---- Create a class with the following static methods. Note that only ''getContentFromURL()'' method is public, as I want to hide the other two methods from the others. class HttpsTools { public static String getContentFromURL(String httpsURL) throws NoSuchAlgorithmException, KeyManagementException, MalformedURLException, IOException { URL url; url = new URL(httpsURL); HttpsURLConnection con = (HttpsURLConnection) url.openConnection(); SSLContext ctx = SSLContext.getInstance("TLS"); TrustManager[] trustManagers = HttpsTools.getTrustManagers; ctx.init(null, trustManagers, null); con.setSSLSocketFactory(ctx.getSocketFactory()); con.setRequestMethod("GET"); //dump all the content return getHttpContent(con); } private static String getHttpContent(HttpsURLConnection con) { StringBuilder sb = new StringBuilder(); if (con != null) { try { BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream())); String input; while ((input = br.readLine()) != null) { sb.append(input); } br.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); } private static TrustManager[] getTrustManagers = new TrustManager[]{ new X509TrustManager() { public void checkClientTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } public void checkServerTrusted(X509Certificate[] x509Certificates, String s) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return null; } } }; } } To use it, import the above file to your java, and call: String myString = HttpsTools.getContentFromURL("https://www.google.com")