原生http封装
package com.xjca.online.util; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; import net.sf.json.JSONObject; public class PubHttps { public static String postHttps(JSONObject obj,String urls){ try{ URL url = new URL(urls);//"" // 建立http连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置允许输出 conn.setDoOutput(true); conn.setDoInput(true); // 设置不用缓存 conn.setUseCaches(false); // 设置传递方式 conn.setRequestMethod("POST"); // 设置维持长连接 conn.setRequestProperty("Connection", "Keep-Alive"); //转换为字节数组 byte[] data = (obj.toString()).getBytes(); // 设置文件长度 conn.setRequestProperty("Content-Length", String.valueOf(data.length)); // 设置文件类型: conn.setRequestProperty("content-type", "application/json;charset=utf-8"); // 开始连接请求 conn.connect(); OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); out.write(obj.toString()); out.flush(); out.close(); System.out.println("请求结果:"+conn.getResponseCode()); // 请求返回的状态 if (conn.getResponseCode() == 200) { System.out.println("连接成功"); // 请求返回的数据 InputStream in = conn.getInputStream(); String a = null; try { byte[] data1 = new byte[in.available()]; in.read(data1); // 转成字符串 //a = new String(data1); a = new String(data1,"UTF-8"); try{ //CdcResult res=(CdcResult)obj.toBean(obj, CdcResult.class); //res.getCaID(); return a; //System.out.println(a); //return a.substring(a.indexOf(":")+1, a.lastIndexOf(",") ); }catch(Exception e){ //System.out.println("Ybs1:"+e.toString()); return null; } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); //System.out.println(e1.printStackTrace()); return null; } } else { System.out.println("!=200"); return null; } } catch (Exception e) { //System.out.println("Ybs2:"+e.toString()); return null; } } public static String HttpsGet(String urls){ try{ URL url = new URL(urls);//"" // 建立http连接 HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // 设置允许输出 conn.setDoOutput(true); conn.setDoInput(true); // 设置不用缓存 conn.setUseCaches(false); // 设置传递方式 conn.setRequestMethod("GET"); // 设置维持长连接 conn.setRequestProperty("Connection", "Keep-Alive"); // 设置文件类型: conn.setRequestProperty("content-type", "application/json;charset=utf-8"); // 开始连接请求 conn.connect(); OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream(), "UTF-8"); out.flush(); out.close(); System.out.println("请求结果:"+conn.getResponseCode()); // 请求返回的状态 if (conn.getResponseCode() == 200) { System.out.println("连接成功"); // 请求返回的数据 InputStream in = conn.getInputStream(); String a = null; try { byte[] data1 = new byte[in.available()]; in.read(data1); // 转成字符串 a = new String(data1); try{ //CdcResult res=(CdcResult)obj.toBean(obj, CdcResult.class); //res.getCaID(); return a; //System.out.println(a); //return a.substring(a.indexOf(":")+1, a.lastIndexOf(",") ); }catch(Exception e){ //System.out.println("Ybs1:"+e.toString()); return null; } } catch (Exception e1) { // TODO Auto-generated catch block e1.printStackTrace(); //System.out.println(e1.printStackTrace()); return null; } } else { System.out.println("!=200"); return null; } } catch (Exception e) { //System.out.println("Ybs2:"+e.toString()); return null; } } }
注意:jsonObject经量使用阿里的fastjson去转换,hutool转换有问题
本文来自博客园,作者:极地阳光-ing,转载请注明原文链接:https://www.cnblogs.com/Polar-sunshine/p/16106757.html