微信小程序> 微信小程序敏感内容检测(图片和文字)java实现

微信小程序敏感内容检测(图片和文字)java实现

浏览量:2246 时间: 来源:dengy666

微信小程序敏感内容检测(图片和文字)java 实现

    • 1、实现代码

1、实现代码

import com.alibaba.fastjson.JSONObject;import lombok.extern.slf4j.Slf4j;import org.apache.http.HttpEntity;import org.apache.http.client.methods.CloseableHttpResponse;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.ByteArrayEntity;import org.apache.http.entity.ContentType;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.impl.client.HttpClients;import org.apache.http.util.EntityUtils;import org.springframework.web.multipart.MultipartFile;import java.io.*;import java.util.*;@Slf4jpublic class SenInfoCheckUtil {    /**     * 图片违规检测     * @param accessToken     * @param file     * @return     */    public static Boolean imgFilter(String accessToken, MultipartFile file){        String contentType = file.getContentType();        return checkPic(file, accessToken,contentType);    }    /**     * 文本违规检测     * @param accessToken     * @param content     * @return     */    public static Boolean cotentFilter(String accessToken, String content){        return checkContent(accessToken,content);    }    /**     *  恶意图片过滤     * @param multipartFile     * @return     */    private static Boolean checkPic(MultipartFile multipartFile, String accessToken,String contentType) {        try {            CloseableHttpClient httpclient = HttpClients.createDefault();            CloseableHttpResponse response = null;            HttpPost request = new HttpPost("https://api.weixin.qq.com/wxa/img_sec_check?access_token=" + accessToken);            request.addHeader("Content-Type", "application/octet-stream");            InputStream inputStream = multipartFile.getInputStream();            byte[] byt = new byte[inputStream.available()];            inputStream.read(byt);            request.setEntity(new ByteArrayEntity(byt, ContentType.create(contentType)));            response = httpclient.execute(request);            HttpEntity httpEntity = response.getEntity();            String result = EntityUtils.toString(httpEntity, "UTF-8");// 转成string            JSONObject jso = JSONObject.parseObject(result);            return getResult(jso);        } catch (Exception e) {            e.printStackTrace();           log.info("----------------调用腾讯内容过滤系统出错------------------");            return true;        }    }    private static Boolean checkContent(String accessToken,String content) {        try {            CloseableHttpClient httpclient = HttpClients.createDefault();            CloseableHttpResponse response = null;            HttpPost request = new HttpPost("https://api.weixin.qq.com/wxa/msg_sec_check?access_token=" + accessToken);            request.addHeader("Content-Type", "application/json");            Map<String, String> map = new HashMap<>();            map.put("content",content);            String body = JSONObject.toJSONString(map);            request.setEntity(new StringEntity(body,ContentType.create("text/json", "UTF-8")));            response = httpclient.execute(request);            HttpEntity httpEntity = response.getEntity();            String result = EntityUtils.toString(httpEntity, "UTF-8");// 转成string            JSONObject jso = JSONObject.parseObject(result);            return getResult(jso);        } catch (Exception e) {            e.printStackTrace();            log.info("----------------调用腾讯内容过滤系统出错------------------");            return true;        }    }   private static Boolean  getResult(JSONObject jso){       Object errcode = jso.get("errcode");       int errCode = (int) errcode;       if (errCode == 0) {           return true;       } else if (errCode == 87014) {           log.info("图片内容违规-----------");           return false;       }       return true;   }}

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎