Commit 5e783e7e584450fdb959b807722717bab15aeb7f

Authored by 徐近程
1 parent 0d15fe48

易盾工具类update

src/main/java/com/cnlive/shenhe/utils/YiDunAntiFraudUtil.java
... ... @@ -74,12 +74,9 @@ public class YiDunAntiFraudUtil {
74 74 private final static String IMAGE_RESULT = "https://as.dun.163yun.com/v4/image/check";
75 75  
76 76 public static void main(String[] args) {
77   - //智能网页识别审核测试
78   - //getURLFilter(FILE_URL);
79   - //getURLFilter("http://3g.huabian.com/api/hz0227/show/440549.html");
80 77  
81 78 //智能文本识别审核测试
82   - getTextFilter("好人");
  79 + //getTextFilter("好人");
83 80  
84 81 //智能图片识别审核测试
85 82 /*JSONArray jsonArray = new JSONArray();
... ... @@ -98,11 +95,77 @@ public class YiDunAntiFraudUtil {
98 95 image3.put("type", 1);
99 96 image3.put("data", "https://wjj.ys2.cnliveimg.com/769/img/0/2020/03/21/158474856886077030277.jpg");
100 97 jsonArray.add(image3);
101   - //
102 98 getImagesFilter(jsonArray.toJSONString());*/
103 99  
  100 + //智能网页识别审核测试
  101 + //getURLFilter(FILE_URL);
  102 + //getURLFilter("http://3g.huabian.com/api/hz0227/show/440549.html");
104 103 }
105 104  
  105 + /**
  106 + * 智能文本审核
  107 + *
  108 + * @param text
  109 + * @return
  110 + */
  111 + public static JSONObject getTextFilter(String text) {
  112 + JSONObject jsonObj = new JSONObject();
  113 + try {
  114 + Map<String, String> params = new HashMap<String, String>();
  115 + // 1.设置公共参数
  116 + params.put("secretId", TEXTANDIMAGESECRETID);
  117 + params.put("businessId", TEXTBUSINESSID);
  118 + params.put("version", "v3.1");
  119 + params.put("timestamp", String.valueOf(System.currentTimeMillis()));
  120 + params.put("nonce", String.valueOf(new Random().nextInt()));
  121 +
  122 + // 2.设置私有参数
  123 + params.put("dataId", UUID.randomUUID().toString());
  124 + params.put("content", text);
  125 +
  126 + // 3.生成签名信息
  127 + String signature = genSignature(TEXTANDIMAGESECRETKEY, params);
  128 + params.put("signature", signature);
  129 +
  130 + // 4.发送HTTP请求
  131 + String result = HttpClientUtils.post_str(TEXT_RESULT, params);
  132 + logger.info("易盾智能文本识别接口返回信息:{}", result);
  133 +
  134 + if (!StringUtils.isEmpty(result)) {
  135 + JSONObject jsonResult = JSONObject.parseObject(result);
  136 + int code = jsonResult.getIntValue("code");
  137 + String msg = jsonResult.getString("msg");
  138 + JSONObject resultJsonObject = jsonResult.getJSONObject("result");
  139 + if (code == 200 && "ok".equals(msg) && !StringUtils.isEmpty(resultJsonObject)) {
  140 + //检测结果,0:通过,1:嫌疑,2:不通过
  141 + int action = resultJsonObject.getIntValue("action");
  142 + String taskId = resultJsonObject.getString("taskId");
  143 + if (action == 0) {
  144 + jsonObj.put("type", "PASS");
  145 + jsonObj.put("desc", "易盾审核通过");
  146 + }
  147 + if (action == 1) {
  148 + jsonObj.put("type", "REJECT");
  149 + jsonObj.put("desc", "文本嫌疑");
  150 + }
  151 + if (action == 2) {
  152 + jsonObj.put("type", "REJECT");
  153 + jsonObj.put("desc", "文本违规");
  154 + }
  155 + jsonObj.put("taskId", taskId);
  156 + logger.info("审核云文本识别处理后结果:{}", jsonObj.toString());
  157 + return jsonObj;
  158 + }
  159 +
  160 + }
  161 + } catch (Exception e) {
  162 + e.printStackTrace();
  163 + }
  164 + jsonObj.put("type", "REJECT");
  165 + jsonObj.put("desc", "易盾文本识别其它问题需排查");
  166 + logger.info("审核云文本识别处理后结果:{}", jsonObj.toString());
  167 + return jsonObj;
  168 + }
106 169  
107 170 /**
108 171 * 智能图片审核
... ... @@ -184,72 +247,7 @@ public class YiDunAntiFraudUtil {
184 247 }
185 248  
186 249 /**
187   - * 智能文本审核
188   - *
189   - * @param text
190   - * @return
191   - */
192   - public static JSONObject getTextFilter(String text) {
193   - JSONObject jsonObj = new JSONObject();
194   - try {
195   - Map<String, String> params = new HashMap<String, String>();
196   - // 1.设置公共参数
197   - params.put("secretId", TEXTANDIMAGESECRETID);
198   - params.put("businessId", TEXTBUSINESSID);
199   - params.put("version", "v3.1");
200   - params.put("timestamp", String.valueOf(System.currentTimeMillis()));
201   - params.put("nonce", String.valueOf(new Random().nextInt()));
202   -
203   - // 2.设置私有参数
204   - params.put("dataId", UUID.randomUUID().toString());
205   - params.put("content", text);
206   -
207   - // 3.生成签名信息
208   - String signature = genSignature(TEXTANDIMAGESECRETKEY, params);
209   - params.put("signature", signature);
210   -
211   - // 4.发送HTTP请求
212   - String result = HttpClientUtils.post_str(TEXT_RESULT, params);
213   - logger.info("易盾智能文本识别接口返回信息:{}", result);
214   -
215   - if (!StringUtils.isEmpty(result)) {
216   - JSONObject jsonResult = JSONObject.parseObject(result);
217   - int code = jsonResult.getIntValue("code");
218   - String msg = jsonResult.getString("msg");
219   - JSONObject resultJsonObject = jsonResult.getJSONObject("result");
220   - if (code == 200 && "ok".equals(msg) && !StringUtils.isEmpty(resultJsonObject)) {
221   - //检测结果,0:通过,1:嫌疑,2:不通过
222   - int action = resultJsonObject.getIntValue("action");
223   - String taskId = resultJsonObject.getString("taskId");
224   - if (action == 0) {
225   - jsonObj.put("type", "PASS");
226   - jsonObj.put("desc", "易盾审核通过");
227   - }
228   - if (action == 1) {
229   - jsonObj.put("type", "REJECT");
230   - jsonObj.put("desc", "文本嫌疑");
231   - }
232   - if (action == 2) {
233   - jsonObj.put("type", "REJECT");
234   - jsonObj.put("desc", "文本违规");
235   - }
236   - jsonObj.put("taskId", taskId);
237   - logger.info("审核云文本识别处理后结果:{}", jsonObj.toString());
238   - return jsonObj;
239   - }
240   -
241   - }
242   - } catch (Exception e) {
243   - e.printStackTrace();
244   - }
245   - jsonObj.put("type", "REJECT");
246   - jsonObj.put("desc", "易盾文本识别其它问题需排查");
247   - logger.info("审核云文本识别处理后结果:{}", jsonObj.toString());
248   - return jsonObj;
249   - }
250   -
251   - /**
252   - * 智能网页识别
  250 + * 图文识别检测接口+获取图文检测结果接口(用于测试)
253 251 *
254 252 * @param url
255 253 * @return
... ... @@ -280,7 +278,7 @@ public class YiDunAntiFraudUtil {
280 278 // 4.发送HTTP请求
281 279 //String response = HttpClient4Utils.sendPost(httpClient, API_URL, params, Consts.UTF_8);
282 280 String s = HttpClientUtils.post_str(URL_SUBMIT, params);
283   - System.out.println(s);
  281 + System.out.println("图文检测提交url结果" + s);
284 282  
285 283  
286 284 Map<String, String> params1 = new HashMap<String, String>();
... ... @@ -296,13 +294,19 @@ public class YiDunAntiFraudUtil {
296 294  
297 295 // 3.发送HTTP请求
298 296 String s1 = HttpClientUtils.post_str(URL_RESULT, params1);
299   - System.out.println(s1);
  297 + System.out.println("图文检测获取url结果" + s1);
300 298  
301 299 // 4.解析接口返回值
302 300 JSONObject resultObject = JSONObject.parseObject(s1);
303 301 return resultObject;
304 302 }
305 303  
  304 + /**
  305 + * 图文识别检测接口
  306 + *
  307 + * @param url
  308 + * @return
  309 + */
306 310 public static JSONObject submitYiDunUrl(String url) {
307 311 try {
308 312 Map<String, String> params = new HashMap<String, String>();
... ...