From d934fbe284f95935728f1dc12259d514d8f13650 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E6=B5=B7?= Date: Thu, 23 Apr 2020 16:12:03 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=8F=96=E7=BD=91=E7=BB=9C=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E9=83=A8=E5=88=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/celess/blog/controller/Other.java | 36 ++----------- .../java/cn/celess/blog/util/HttpUtil.java | 51 +++++++++++++++++++ 2 files changed, 56 insertions(+), 31 deletions(-) create mode 100644 src/main/java/cn/celess/blog/util/HttpUtil.java diff --git a/src/main/java/cn/celess/blog/controller/Other.java b/src/main/java/cn/celess/blog/controller/Other.java index f360428..e4473ed 100644 --- a/src/main/java/cn/celess/blog/controller/Other.java +++ b/src/main/java/cn/celess/blog/controller/Other.java @@ -6,6 +6,7 @@ import cn.celess.blog.entity.model.QiniuResponse; import cn.celess.blog.exception.MyException; import cn.celess.blog.service.CountService; import cn.celess.blog.service.QiniuService; +import cn.celess.blog.util.HttpUtil; import cn.celess.blog.util.RedisUtil; import cn.celess.blog.util.ResponseUtil; import cn.celess.blog.util.VeriCodeUtil; @@ -176,40 +177,13 @@ public class Other { @GetMapping("/bingPic") public Response bingPic() { - StringBuffer sb = new StringBuffer(); + + JSONObject imageObj; try { - //建立URL - URL url = new URL("https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN"); - - //打开http - HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); - urlConnection.setDoInput(true); - urlConnection.setRequestMethod("GET"); - urlConnection.connect(); - - //获得输入 - InputStream inputStream = urlConnection.getInputStream(); - InputStreamReader inputStreamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8); - BufferedReader bufferedReader = new BufferedReader(inputStreamReader); - - //将bufferReader的值给放到buffer里 - String str = null; - while ((str = bufferedReader.readLine()) != null) { - sb.append(str); - } - //关闭bufferReader和输入流 - bufferedReader.close(); - inputStreamReader.close(); - inputStream.close(); - //断开连接 - urlConnection.disconnect(); - - } catch (Exception e) { - e.printStackTrace(); + imageObj = JSONObject.fromObject(HttpUtil.get("https://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN")); + } catch (IOException e) { return ResponseUtil.failure(null); } - - JSONObject imageObj = JSONObject.fromObject(sb.toString()); JSONArray jsonArray = imageObj.getJSONArray("images"); String imageName = jsonArray.getJSONObject(0).getString("url"); return ResponseUtil.success("https://cn.bing.com" + imageName); diff --git a/src/main/java/cn/celess/blog/util/HttpUtil.java b/src/main/java/cn/celess/blog/util/HttpUtil.java new file mode 100644 index 0000000..7b68b21 --- /dev/null +++ b/src/main/java/cn/celess/blog/util/HttpUtil.java @@ -0,0 +1,51 @@ +package cn.celess.blog.util; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.net.HttpURLConnection; +import java.net.URL; +import java.nio.charset.StandardCharsets; + +/** + * @Author: 小海 + * @Date: 2020-04-23 15:51 + * @Desc: + */ +public class HttpUtil { + + public static String get(String urlStr) throws IOException { + + StringBuffer sb = new StringBuffer(); + + HttpURLConnection urlConnection = null; + try { + URL url = new URL(urlStr); + + //打开http + urlConnection = (HttpURLConnection) url.openConnection(); + urlConnection.setDoInput(true); + urlConnection.setRequestMethod("GET"); + urlConnection.connect(); + + try ( + InputStream inputStream = urlConnection.getInputStream(); + InputStreamReader inputStreamReader = new InputStreamReader(inputStream, StandardCharsets.UTF_8); + BufferedReader bufferedReader = new BufferedReader(inputStreamReader); + ) { + //将bufferReader的值给放到buffer里 + String str = null; + while ((str = bufferedReader.readLine()) != null) { + sb.append(str); + } + } + } finally { + //断开连接 + if (urlConnection != null) { + urlConnection.disconnect(); + } + } + return sb.toString(); + } +}