| package com.ruoyi.web.controller.tool; | 
|   | 
| import java.io.ByteArrayOutputStream; | 
| import java.io.InputStream; | 
| import java.net.HttpURLConnection; | 
| import java.net.URL; | 
|   | 
| /** | 
|  * @author zhy | 
|  * @title: HttpClientUtil | 
|  * @projectName car_park | 
|  * @description: http连接工具类 | 
|  * @date 2019/10/2219:23 | 
|  */ | 
| public class HttpClientUtil { | 
|   | 
|   | 
|     /** | 
|      * @param strUrl | 
|      * @return byte[] | 
|      * @throws | 
|      * @description: 获取网络图片转成字节流 | 
|      * @author zhy | 
|      * @date 2019/10/23 8:59 | 
|      */ | 
|     public static byte[] getImageFromNetByUrl(String strUrl) { | 
|         if (!isURL(strUrl)){ | 
|             return null; | 
|         } | 
|         try { | 
|             URL url = new URL(strUrl); | 
|             HttpURLConnection conn = (HttpURLConnection) url.openConnection(); | 
|             conn.setRequestMethod("GET"); | 
|             conn.setConnectTimeout(2 * 1000); | 
|             InputStream inStream = conn.getInputStream();// 通过输入流获取图片数据 | 
|             byte[] btImg = readInputStream(inStream);// 得到图片的二进制数据 | 
|             return btImg; | 
|         } catch (Exception e) { | 
|             e.printStackTrace(); | 
|         } | 
|         return null; | 
|     } | 
|   | 
|     /** | 
|      * 从输入流中获取字节流数据 | 
|      * | 
|      * @param inStream 输入流 | 
|      * @return | 
|      * @throws Exception | 
|      */ | 
|     public static byte[] readInputStream(InputStream inStream) throws Exception { | 
|         ByteArrayOutputStream outStream = new ByteArrayOutputStream(); | 
|         byte[] buffer = new byte[10240]; | 
|         int len = 0; | 
|         while ((len = inStream.read(buffer)) != -1) { | 
|             outStream.write(buffer, 0, len); | 
|         } | 
|         inStream.close(); | 
|         return outStream.toByteArray(); | 
|     } | 
|   | 
|     public static boolean isURL(String str) { | 
|         str = str.toLowerCase(); | 
|         String regex = "^((https|http|ftp|rtsp|mms)?://)" | 
|                 + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" | 
|                 + "(([0-9]{1,3}\\.){3}[0-9]{1,3}" | 
|                 + "|" | 
|                 + "([0-9a-z_!~*'()-]+\\.)*" | 
|                 + "([0-9a-z][0-9a-z-]{0,61})?[0-9a-z]\\." | 
|                 + "[a-z]{2,6})" | 
|                 + "(:[0-9]{1,5})?" | 
|                 + "((/?)|" | 
|                 + "(/[0-9a-z_!~*'().;?:@&=+$,%#-]+)+/?)$"; | 
|         return str.matches(regex); | 
|     } | 
|   | 
|   | 
| } | 
|   |