| | |
| | | import java.io.ByteArrayOutputStream; |
| | | import java.io.InputStream; |
| | | import java.io.OutputStream; |
| | | import java.net.HttpURLConnection; |
| | | import java.net.URL; |
| | | import java.security.KeyManagementException; |
| | | import java.security.NoSuchAlgorithmException; |
| | |
| | | |
| | | public static String post(String url, String data, String contentType, boolean ignoreSSL) { |
| | | return connection(url, "POST", data, contentType, ignoreSSL); |
| | | } |
| | | public static String postJsonString(String url, String data) { |
| | | if(url.startsWith("https://")){ |
| | | return connection(url, "POST", data, "application/json", true); |
| | | }else{ |
| | | return connectionHttp(url, "POST", data, "application/json"); |
| | | } |
| | | } |
| | | |
| | | public static String connection(String url,String method,String data,String contentType,boolean ignoreSSL){ |
| | |
| | | } |
| | | return null; |
| | | } |
| | | public static InputStream connectionInputsteam(String url,String method,String data,String contentType ){ |
| | | HttpURLConnection connection = null; |
| | | try { |
| | | URL _url = new URL(url); |
| | | connection = (HttpURLConnection) _url.openConnection(); |
| | | connection.setRequestMethod(method); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | connection.setUseCaches(false); |
| | | if(contentType != null){ |
| | | connection.setRequestProperty("Content-Type", contentType); |
| | | } |
| | | connection.connect(); |
| | | if(data != null){ |
| | | OutputStream outputStream = connection.getOutputStream(); |
| | | outputStream.write(data.getBytes("utf-8")); |
| | | outputStream.close(); |
| | | } |
| | | int responseCode = connection.getResponseCode(); |
| | | if (responseCode == HttpsURLConnection.HTTP_OK) { |
| | | return connection.getInputStream(); |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | if(connection != null){ |
| | | connection.disconnect(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | public static String connectionHttp(String url,String method,String data,String contentType ){ |
| | | HttpURLConnection connection = null; |
| | | try { |
| | | URL _url = new URL(url); |
| | | connection = (HttpURLConnection) _url.openConnection(); |
| | | connection.setRequestMethod(method); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | connection.setUseCaches(false); |
| | | if(contentType != null){ |
| | | connection.setRequestProperty("Content-Type", contentType); |
| | | } |
| | | |
| | | connection.connect(); |
| | | |
| | | if(data != null){ |
| | | OutputStream outputStream = connection.getOutputStream(); |
| | | outputStream.write(data.getBytes("utf-8")); |
| | | outputStream.close(); |
| | | } |
| | | |
| | | int responseCode = connection.getResponseCode(); |
| | | if (responseCode == HttpsURLConnection.HTTP_OK) { |
| | | InputStream is = connection.getInputStream(); |
| | | byte[] b = new byte[4096]; |
| | | ByteArrayOutputStream baos = new ByteArrayOutputStream(b.length); |
| | | int len; |
| | | while ((len = is.read(b)) != -1) { |
| | | baos.write(b, 0, len); |
| | | } |
| | | is.close(); |
| | | return baos.toString("utf-8"); |
| | | } |
| | | return connection.getResponseMessage(); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | if(connection != null){ |
| | | connection.disconnect(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | |
| | | public static void main(String[] args) { |
| | |
| | | System.out.println(result); |
| | | |
| | | } |
| | | public static InputStream postJson(String url, String data){ |
| | | HttpsURLConnection connection = null; |
| | | try { |
| | | URL _url = new URL(url); |
| | | connection = (HttpsURLConnection) _url.openConnection(); |
| | | connection.setRequestMethod("POST"); |
| | | connection.setDoOutput(true); |
| | | connection.setDoInput(true); |
| | | connection.setUseCaches(false); |
| | | connection.setRequestProperty("Content-Type", "application/json"); |
| | | connection.connect(); |
| | | //信任所有ssl证书和主机 |
| | | TrustManager[] trustManagers = {new HttpsTrustManager()}; |
| | | SSLContext context = SSLContext.getInstance("TLS"); |
| | | context.init(null, trustManagers, new SecureRandom()); |
| | | connection.setSSLSocketFactory(context.getSocketFactory()); |
| | | connection.setHostnameVerifier(new HostnameVerifier() { |
| | | @Override |
| | | public boolean verify(String hostname, SSLSession session) { |
| | | return true; |
| | | } |
| | | }); |
| | | if(data != null){ |
| | | OutputStream outputStream = connection.getOutputStream(); |
| | | outputStream.write(data.getBytes("utf-8")); |
| | | outputStream.close(); |
| | | } |
| | | |
| | | int responseCode = connection.getResponseCode(); |
| | | if (responseCode == HttpsURLConnection.HTTP_OK) { |
| | | InputStream is = connection.getInputStream(); |
| | | return is; |
| | | } |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | if(connection != null){ |
| | | // connection.disconnect(); |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | } |
| | | |
| | | class HttpsTrustManager implements X509TrustManager { |