前言
相信很多朋友跟我遇到过相同的问题,就是在开发一些笔记或者博客的时候,会遇到一些过滤敏感、时政、黄、赌、毒这类词汇、句子等这种棘手问题。
今天我们看一下微信小程序提供的文本安全内容识别,也可以减少一些我们的工作量。通过微信的接口来为我们过滤这些敏感词以及容易被风控的词。
微信文档
微信接口文档请参照下图:
应用场景
- 用户个人资料文字的违规检测
- 媒体新闻类用户发表ode文章以及评论内容的检测
- 一些用户自己编辑后上传的内容检测
注意事项
此处微信出于自己安全考虑对频率进行了限制,单个appid呗限制调用频率如下:4000次/分钟,2000000次/天
代码实现
具体的出参入参大家可自行参考微信小程序开发文档,接下来我们看一下具体代码实现:
public static boolean msgSecCheck(String access_token,String openid,String content){
System.out.println(access_token);
String params = "{\n" +
" "openid": "OPENID",\n" +
" "scene": 1,\n" +
" "version": 2,\n" +
" "content":"CONTENT_STR"\n" +
" }";
String s = params.replaceAll("OPENID", openid).replaceAll("CONTENT_STR", content);
String msg_sec_check = MSG_SEC_CHECK.replaceAll("ACCESS_TOKEN", access_token);
String s1 = HttpUtils.httpsRequest(msg_sec_check, "POST", s);
JSONObject jsonObject = JSONObject.parseObject(s1);
JSONObject result = (JSONObject)jsonObject.get("result");
String suggest = (String)result.get("suggest");
System.out.println(suggest);
System.out.println(s1);
if("pass".equals(suggest)){
return true;
}
return false;
}
代码解析:
上面代码块很简单,我们可以很明白的读懂内容:
- 首先将参数拼接为一个字符串,将openid和content替换成我们对应的请求数据
- 替换我们的请求地址中的access_token
- 发送POST请求,请求微信服务器获取检测结果
- 处理检测结果,转为JSONObject对象,在通过JSONObject对象来获取我们对应的相对应的返回值数据进行处理
好了,到这里关于文本内容安全识别的讲解就到这里,欢迎大家留言交流。
也欢迎大家关注我的工种昊《coder练习生》