微信内容安全api调用
使用背景描述
微信小程序很多需要展示出来的文本,图片,视频等,都需要接入微信内容安全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调用相关推荐
- 企业微信SDK接口API调用-触发推送企业微信微信好友
企业微信SDK接口API调用-触发推送企业微信微信好友 /** * 触发企业微信推送微信好友列表 * @author wechat:happybabby110 * @bl ...
- JAVA开发(后端):微信小程序API调用详细分析及步骤
关键词:微信登录.统一下单(支付).统一下单通知(回调).统一下单查询.企业付款至零钱.支付查询.获取ACCESS_Token.获取小程序二维码 因为做项目涉及到微信这些接口的调用,尽管看了很多博客, ...
- 华为云 内容审核API调用 前端 js uni-app
文章目录 前言 一.华为云的内容审核api的调用需要哪些东西? 二.使用步骤 1.先注册一个华为云的账号 2.申请内容审核服务 3.[华为云内容审核API的官方文档](https://support. ...
- egret php交互,微信小游戏API调用Egret
野子电竞数据官网改版https://www.xxe.io/全新登场 在Egret中是可以直接调用微信小游戏的API的,Egret中添加了平台代码,可以调用各个平台API. 新建工程会发现在src文件夹 ...
- 微信小程序——api调用(糗事百科例子)
糗事百科api分析 糗事百科 http://m2.qiushibaike.com/article/list/{type}?type=refresh&page={page}&count= ...
- 百度云内容审核api调用工具类
1.引入maven依赖 2. package com.ck.common.aip;import com.alibaba.fastjson.JSONObject; import com.baidubce ...
- 企业微信SDK接口API调用-触发推送企业微信联系人列表
/** * 触发推送企业微信联系人列表任务 * @author wechat:happybabby110 * @blog http://www.wlkankan.cn ...
- Python 技术篇-20行代码实现微信机器人斗图功能实例演示!斗图啦官网API调用方法
话不多说,看效果图: 先说下原理: 微信接收到你说的话,发给机器人来回复,用回复的话传参给斗图网,然后获得斗图网返回的图片,保存后把图片再发给跟你斗图的人. 斗图啦官网API调用文档 斗图啦官网 菜单 ...
- python企业微信特定用户_python3调用企业微信api!开发一款属于自己的企业微信...
python3调用企业微信api 最后更新时间:2020/5/11 前段时间,我将企业微信官方提供的python接口代码的部分功能修改成了python3的,并且自己也使用并测试过部分功能: 因为并没有 ...
最新文章
- JPPhotoBrowserDemo--微信朋友圈浏览图片
- 使用容器的概念理解多维数组和多维空间
- 关于MySQL相关的查看显示信息:
- Java 9中的HTTP / 2支持简介
- BugkuCTF-MISC题where is flag
- 国内数据中心变革的见证者,揭秘阿里巴巴数据中心技术积淀
- Python开源项目大集合:15个领域,181个项目 | 硬核干货
- jenkins java必装插件_Jenkins(三)安装相关插件
- 一个发人深省的经典理财故事
- rand()函数实现原理:线性同余法
- 保护您的AWS网站免受DDoS攻击
- JWT 详解及源码分析
- vue中图片加载不出来的问题
- 权力的游戏——读《原则2 :应对变化中的世界秩序》(中)
- CSS深度(穿透)选择器
- 给微信小程序配一个App如何?
- stormzhang:对于 996,说下我的观点
- 电脑win10进入设置就闪退卡顿,解决办法:
- fiddler实现手游封包逆向测试:Fiddler手机代理一步到位(fiddler安装+手机代理+封包详解)
- direct wifi 投屏_direct wifi 投屏_告别Wifi直接投AOC无线投屏显示器轻松用