package com.kingdee.eas.custom.ssPDF.utils; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import java.io.*; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class HttpClient3 { public static byte[] getBytesByNetURL(String urlStr) throws IOException { // RestTemplate restTemplate = new RestTemplate(); // ResponseEntity responseEntity = restTemplate.exchange(urlStr, HttpMethod.GET, null, byte[].class); // byte[] fileContent = responseEntity.getBody(); URL url = new URL(urlStr); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); // //设置超时时间 conn.setConnectTimeout(5 * 1000); // //通过输入流获取图片数据 InputStream in = conn.getInputStream(); // //得到图片的二进制数据 ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len; while ((len = in.read(buffer)) != -1) { outputStream.write(buffer, 0, len); } in.close(); return outputStream.toByteArray(); // return fileContent; } /** * http get请求 * @param httpUrl 链接 * @return 响应数据 */ public static InputStream doGet(String httpUrl){ //链接 HttpURLConnection connection=null; InputStream is=null; BufferedReader br = null; StringBuffer result=new StringBuffer(); try { //创建连接 URL url=new URL(httpUrl); connection= (HttpURLConnection) url.openConnection(); //设置请求方式 connection.setRequestMethod("GET"); //设置连接超时时间 connection.setConnectTimeout(15000); //设置读取超时时间 connection.setReadTimeout(15000); //开始连接 connection.connect(); //获取响应数据 if(connection.getResponseCode()==200){ //获取返回的数据 is=connection.getInputStream(); // if(is!=null){ // br=new BufferedReader(new InputStreamReader(is,"UTF-8")); // String temp = null; // while ((temp=br.readLine())!=null){ // result.append(temp); // } // } } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if(br!=null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if(is!=null){ try { is.close(); } catch (IOException e) { e.printStackTrace(); } } connection.disconnect();// 关闭远程连接 } return is; } /** * post请求 * @param httpUrl 链接 * @param param 参数 * @return */ public static JSONObject doPost(String httpUrl, String param) { StringBuffer result=new StringBuffer(); //连接 HttpURLConnection connection=null; OutputStream os=null; InputStream is=null; BufferedReader br=null; JSONObject jsonObject = null; try { //创建连接对象 URL url=new URL(httpUrl); //创建连接 connection= (HttpURLConnection) url.openConnection(); //设置请求方法 connection.setRequestMethod("POST"); //设置连接超时时间 connection.setConnectTimeout(15000); //设置读取超时时间 connection.setReadTimeout(15000); //设置是否可读取 connection.setDoOutput(true); //设置响应是否可读取 connection.setDoInput(true); //设置参数类型 connection.setRequestProperty("Content-Type", "application/json"); //拼装参数 if(param!=null&&!param.equals("")){ //设置参数 os=connection.getOutputStream(); //拼装参数 os.write(param.getBytes("UTF-8")); } //设置权限 //设置请求头等 //开启连接 //connection.connect(); //读取响应 if(connection.getResponseCode()==200){ is=connection.getInputStream(); if(is!=null){ br=new BufferedReader(new InputStreamReader(is,"UTF-8")); String temp=null; if((temp=br.readLine())!=null){ result.append(temp); } } jsonObject = JSON.parseObject(String.valueOf(result)); } //关闭连接 } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { if(br!=null){ try { br.close(); } catch (IOException e) { e.printStackTrace(); } } if(os!=null){ try { os.close(); } catch (IOException e) { e.printStackTrace(); } } if(is!=null){ try { is.close(); } catch (IOException e) { e.printStackTrace(); } } //关闭连接 connection.disconnect(); } return jsonObject; } public static void main(String[] str){ /*String result=HttpURLConnectionUtil.doGet("http://localhost:8080/test"); System.out.println(result);*/ /*Map map=new HashMap<>(); map.put("1","1"); map.put("2","2"); map.put("3","3"); System.out.println(HttpURLConnectionUtil.getParamStr(map));*/ } }