使用背景描述

微信小程序很多需要展示出来的文本,图片,视频等,都需要接入微信内容安全api来做合法校验,如果这些相关功能没有接入微信内容安全api的话,那么小程序审核就会被打回。

解决方法

新建一个WeiXinSecurityUtil工具类,内容如下:

import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;import java.io.IOException;/*** @Author: jiejie* @Date: 2021/8/17 下午3:47* @Desc: 微信安全工具类* @Version 1.0*/
public class WeiXinSecurityUtil {private static final Logger log = LoggerFactory.getLogger(WeiXinSecurityUtil.class);/*** 图片检测接口路径*/private static String IMG_SEC_URL = "https://api.weixin.qq.com/wxa/img_sec_check?access_token=";/*** 内容安全检测接口路径*/private static String MSG_SEC_URL = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=";/*** 检测内容安全方法(返回0才是校验成功,其余都是失败)** @param content* @param accessToken* @return*/public static Boolean checkMsg(String content, String accessToken) {JSONObject jsonObject = new JSONObject();jsonObject.putOpt("content", content);Boolean result = false;String response = "";try {response = HttpUtil.post(MSG_SEC_URL + accessToken, jsonObject.toString());} catch (Exception e) {log.error("调用微信内容安全检测接口失败" + e.getMessage());}if (StrUtil.isNotBlank(response)) {//解析相应内容(转换成json对象)JSONObject json = JSONUtil.parseObj(response);//错误码(errcode),0表示内容正常String errcode = String.valueOf(json.get("errcode"));String errmsg = (String) json.get("errmsg");if (!"0".equals(errcode)) {log.warn("调用微信内容安全检测接口错误,错误码:{},错误信息:{}", errcode, errmsg);} else {result = true;}}return result;}/*** 检测图片安全方法** @param file* @param accessToken* @return*/public static Boolean checkImg(MultipartFile file, String accessToken) throws IOException {byte[] bytes = file.getBytes();JSONObject jsonObject = new JSONObject();jsonObject.putOpt("media", bytes);Boolean result = false;String response = "";try {response = HttpRequest.post(IMG_SEC_URL + accessToken).header("Content-Type", "application/octet-stream").form(jsonObject).timeout(20000)//超时,毫秒.execute().body();} catch (Exception e) {log.error("调用微信图片安全检测接口失败" + e.getMessage());}if (StrUtil.isNotBlank(response)) {//解析相应内容(转换成json对象)JSONObject json = JSONUtil.parseObj(response);//错误码(errcode),0表示内容正常String errcode = String.valueOf(json.get("errcode"));String errmsg = (String) json.get("errmsg");if (!"0".equals(errcode)) {log.warn("调用微信图片安全检测接口错误,错误码:{},错误信息:{}", errcode, errmsg);} else {result = true;}}return result;}
}

其实可以先看看微信官方微信内容安全api调用的文档,有个概念,然后再面向搜索引擎看看有没有已经封装好的方法可供参考,最后再自定义下符合项目规范的返参和日志,以上代码经过测试,可以生效。

微信内容安全api调用相关推荐

  1. 企业微信SDK接口API调用-触发推送企业微信微信好友

    企业微信SDK接口API调用-触发推送企业微信微信好友 /**      * 触发企业微信推送微信好友列表      * @author wechat:happybabby110      * @bl ...

  2. JAVA开发(后端):微信小程序API调用详细分析及步骤

    关键词:微信登录.统一下单(支付).统一下单通知(回调).统一下单查询.企业付款至零钱.支付查询.获取ACCESS_Token.获取小程序二维码 因为做项目涉及到微信这些接口的调用,尽管看了很多博客, ...

  3. 华为云 内容审核API调用 前端 js uni-app

    文章目录 前言 一.华为云的内容审核api的调用需要哪些东西? 二.使用步骤 1.先注册一个华为云的账号 2.申请内容审核服务 3.[华为云内容审核API的官方文档](https://support. ...

  4. egret php交互,微信小游戏API调用Egret

    野子电竞数据官网改版https://www.xxe.io/全新登场 在Egret中是可以直接调用微信小游戏的API的,Egret中添加了平台代码,可以调用各个平台API. 新建工程会发现在src文件夹 ...

  5. 微信小程序——api调用(糗事百科例子)

    糗事百科api分析 糗事百科 http://m2.qiushibaike.com/article/list/{type}?type=refresh&page={page}&count= ...

  6. 百度云内容审核api调用工具类

    1.引入maven依赖 2. package com.ck.common.aip;import com.alibaba.fastjson.JSONObject; import com.baidubce ...

  7. 企业微信SDK接口API调用-触发推送企业微信联系人列表

    /**      * 触发推送企业微信联系人列表任务      * @author wechat:happybabby110      * @blog http://www.wlkankan.cn   ...

  8. Python 技术篇-20行代码实现微信机器人斗图功能实例演示!斗图啦官网API调用方法

    话不多说,看效果图: 先说下原理: 微信接收到你说的话,发给机器人来回复,用回复的话传参给斗图网,然后获得斗图网返回的图片,保存后把图片再发给跟你斗图的人. 斗图啦官网API调用文档 斗图啦官网 菜单 ...

  9. python企业微信特定用户_python3调用企业微信api!开发一款属于自己的企业微信...

    python3调用企业微信api 最后更新时间:2020/5/11 前段时间,我将企业微信官方提供的python接口代码的部分功能修改成了python3的,并且自己也使用并测试过部分功能: 因为并没有 ...

最新文章

  1. JPPhotoBrowserDemo--微信朋友圈浏览图片
  2. 使用容器的概念理解多维数组和多维空间
  3. 关于MySQL相关的查看显示信息:
  4. Java 9中的HTTP / 2支持简介
  5. BugkuCTF-MISC题where is flag
  6. 国内数据中心变革的见证者,揭秘阿里巴巴数据中心技术积淀
  7. Python开源项目大集合:15个领域,181个项目 | 硬核干货
  8. jenkins java必装插件_Jenkins(三)安装相关插件
  9. 一个发人深省的经典理财故事
  10. rand()函数实现原理:线性同余法
  11. 保护您的AWS网站免受DDoS攻击
  12. JWT 详解及源码分析
  13. vue中图片加载不出来的问题
  14. 权力的游戏——读《原则2 :应对变化中的世界秩序》(中)
  15. CSS深度(穿透)选择器
  16. 给微信小程序配一个App如何?
  17. stormzhang:对于 996,说下我的观点
  18. 电脑win10进入设置就闪退卡顿,解决办法:
  19. fiddler实现手游封包逆向测试:Fiddler手机代理一步到位(fiddler安装+手机代理+封包详解)
  20. direct wifi 投屏_direct wifi 投屏_告别Wifi直接投AOC无线投屏显示器轻松用

热门文章

  1. 阅后即焚,火得一塌糊涂
  2. 如何抓取股票接口api?
  3. [干货]原生营销场景搭建小Tips,你收藏好了吗?——金融借贷篇
  4. linux oracle lrm00109,LRM-00109 ORACLE 10.2.0.1
  5. 用python实现交警手势识别
  6. 费希尔定位器可实现测量和监控的功能
  7. 阅读 | 001《人工智能导论》(二)知识获取篇
  8. 开源|商品识别推荐系统
  9. 微信小程序开发培训-北京站
  10. 怎么查看下载的哨兵数据每个swath有几个burst?