From 5ced7dc51aa2f0bec45de7f16329ea9ecd1ee850 Mon Sep 17 00:00:00 2001 From: lvweiji <1878356005@qq.com> Date: Thu, 6 Jul 2023 16:30:03 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20d9ee3c6=20from=20https://gitee.com/Rock?= =?UTF-8?q?y-BCRJ/congomall/pulls/3=20feat:=20GeeTestLib#=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E5=8A=9F=E8=83=BD=E5=9D=97=E9=87=8D=E5=A4=8D=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../congomall/biz/bff/toolkit/GeeTestLib.java | 64 +++++++------------ 1 file changed, 23 insertions(+), 41 deletions(-) diff --git a/congomall-bff/congomall-bff-biz/src/main/java/org/opengoofy/congomall/biz/bff/toolkit/GeeTestLib.java b/congomall-bff/congomall-bff-biz/src/main/java/org/opengoofy/congomall/biz/bff/toolkit/GeeTestLib.java index bcd03cab..82937315 100644 --- a/congomall-bff/congomall-bff-biz/src/main/java/org/opengoofy/congomall/biz/bff/toolkit/GeeTestLib.java +++ b/congomall-bff/congomall-bff-biz/src/main/java/org/opengoofy/congomall/biz/bff/toolkit/GeeTestLib.java @@ -19,6 +19,7 @@ package org.opengoofy.congomall.biz.bff.toolkit; import com.alibaba.fastjson2.JSONException; import com.alibaba.fastjson2.JSONObject; +import org.jetbrains.annotations.NotNull; import org.opengoofy.congomall.biz.bff.config.GeeTestProperties; import java.io.IOException; @@ -26,6 +27,7 @@ import java.io.InputStream; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; +import java.nio.charset.StandardCharsets; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.HashMap; @@ -42,12 +44,12 @@ public class GeeTestLib { /** * 公钥 */ - private String captchaId = ""; + private final String captchaId; /** * 私钥 */ - private String privateKey = ""; + private final String privateKey; /** * 返回字符串 @@ -101,7 +103,7 @@ public class GeeTestLib { param = param + "&ip_address=" + ipAddress; } String result_str = readContentFromGet(getUrl + param); - if (result_str == "fail") { + if ("fail".equals(result_str)) { return 0; } JSONObject jsonObject = JSONObject.parseObject(result_str); @@ -131,7 +133,7 @@ public class GeeTestLib { jsonObject.put("success", 0); jsonObject.put("gt", this.captchaId); jsonObject.put("challenge", challenge); - jsonObject.put("new_captcha", this.NEW_FAIL_BACK); + jsonObject.put("new_captcha", NEW_FAIL_BACK); } catch (JSONException ignored) { } return jsonObject.toString(); @@ -151,13 +153,18 @@ public class GeeTestLib { connection.setConnectTimeout(2000); connection.setReadTimeout(2000); connection.connect(); + return respStringFromGet(connection); + } + + @NotNull + private String respStringFromGet(HttpURLConnection connection) throws IOException { if (connection.getResponseCode() == 200) { StringBuffer sBuffer = new StringBuffer(); InputStream inStream; byte[] buf = new byte[1024]; inStream = connection.getInputStream(); for (int n; (n = inStream.read(buf)) != -1; ) { - sBuffer.append(new String(buf, 0, n, "UTF-8")); + sBuffer.append(new String(buf, 0, n, StandardCharsets.UTF_8)); } inStream.close(); connection.disconnect(); @@ -166,7 +173,7 @@ public class GeeTestLib { return "fail"; } } - + /** * 预处理成功后的标准串 */ @@ -185,15 +192,15 @@ public class GeeTestLib { * MD5 加密 */ private String md5Encode(String plainText) { - String re_md5 = new String(); + String re_md5 = ""; try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(plainText.getBytes()); byte b[] = md.digest(); int i; - StringBuffer buf = new StringBuffer(""); - for (int offset = 0; offset < b.length; offset++) { - i = b[offset]; + StringBuffer buf = new StringBuffer(); + for (byte value : b) { + i = value; if (i < 0) { i += 256; } @@ -260,30 +267,18 @@ public class GeeTestLib { /** * 检查客户端的请求是否合法,三个只要有一个为空,则判断不合法 */ - private boolean requestIsLegal(String challenge, String validate, String seccode) { - if (objIsEmpty(challenge)) { - return false; - } - if (objIsEmpty(validate)) { - return false; - } - if (objIsEmpty(seccode)) { - return false; - } - return true; + private Boolean requestIsLegal(String challenge, String validate, String seccode) { + return !objIsEmpty(challenge) && !objIsEmpty(validate) && !objIsEmpty(seccode); } /** * 判断一个表单对象值是否为空 */ - protected boolean objIsEmpty(Object gtObj) { + protected Boolean objIsEmpty(Object gtObj) { if (gtObj == null) { return true; } - if (gtObj.toString().trim().length() == 0) { - return true; - } - return false; + return gtObj.toString().trim().length() == 0; } protected boolean checkResultByPrivate(String challenge, String validate) { @@ -305,24 +300,11 @@ public class GeeTestLib { connection.setDoOutput(true); connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); connection.connect(); - OutputStreamWriter outputStreamWriter = new OutputStreamWriter(connection.getOutputStream(), "utf-8"); + OutputStreamWriter outputStreamWriter = new OutputStreamWriter(connection.getOutputStream(), StandardCharsets.UTF_8); outputStreamWriter.write(data); outputStreamWriter.flush(); outputStreamWriter.close(); - if (connection.getResponseCode() == 200) { - StringBuffer sBuffer = new StringBuffer(); - InputStream inStream = null; - byte[] buf = new byte[1024]; - inStream = connection.getInputStream(); - for (int n; (n = inStream.read(buf)) != -1; ) { - sBuffer.append(new String(buf, 0, n, "UTF-8")); - } - inStream.close(); - connection.disconnect(); - return sBuffer.toString(); - } else { - return "fail"; - } + return respStringFromGet(connection); } /** -- Gitee