public static JSONObject doPost(String reqUrl, String json) throws NoSuchAlgorithmException, NoSuchProviderException, IOException, KeyManagementException { URL url = new URL(reqUrl); HttpsURLConnection httpsConn = (HttpsURLConnection) url.openConnection(); httpsConn.setHostnameVerifier(new HostnameVerifier() { public boolean verify(String paramString, SSLSession paramSSLSession) { return true; } }); //创建SSLContext对象,并使用我们指定的信任管理器初始化 TrustManager tm = new X509TrustManager() { public void checkClientTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) throws CertificateException { } public void checkServerTrusted(X509Certificate[] paramArrayOfX509Certificate, String paramString) throws CertificateException { } public X509Certificate[] getAcceptedIssuers() { return null; } }; SSLContext sslContext = SSLContext.getInstance("SSL", "SunJSSE"); sslContext.init(null, new TrustManager[] { tm }, new java.security.SecureRandom()); //从上述SSLContext对象中得到SSLSocketFactory对象 SSLSocketFactory ssf = sslContext.getSocketFactory(); //创建HttpsURLConnection对象,并设置其SSLSocketFactory对象 httpsConn.setSSLSocketFactory(ssf); httpsConn.setDoOutput(true); httpsConn.setRequestMethod("POST"); httpsConn.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); httpsConn.setRequestProperty("Content-Length", String.valueOf(json.length())); OutputStreamWriter out = new OutputStreamWriter(httpsConn.getOutputStream(), "UTF-8"); out.write(json); out.flush(); out.close(); BufferedReader reader = new BufferedReader(new InputStreamReader( httpsConn.getInputStream(), "UTF-8")); String tempLine = ""; StringBuffer resultBuffer = new StringBuffer(); while ((tempLine = reader.readLine()) != null) { resultBuffer.append(tempLine).append(System.getProperty("line.separator")); } System.out.println("resultBuffer:"+resultBuffer); JSONObject response = JSONObject.fromObject(resultBuffer.toString()); return response; }
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException:
最新推荐文章于 2023-05-17 11:43:32 发布