微信内容安全验证及图片安全验证

public final static String access_token_url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET";
public final static String checkUrl = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN";

public final static String checkImgUrl = "https://api.weixin.qq.com/wxa/media_check_async?access_token=ACCESS_TOKEN";

1、首先获取临时凭证accessToken

String accessToken="";

if (redisUtil.hasKey(code)){
    System.out.println("------------------从缓存获取的access_token:"+redisUtil.get(code));
    return String.valueOf(redisUtil.get(code));
}else {
    String accessToken="";

    String requestUrl = access_token_url.replace("APPID", appid).replace("APPSECRET", appsecret);
    JSONObject jsonObject = HttpUtil.doGet(requestUrl);  //调用通用的https请求方法
    System.out.println("----------------------------请求获取token返回的参数:"+jsonObject);
    // 如果请求成功
    if (null != jsonObject) {
        try {

            redisUtil.set(code,jsonObject.getString("access_token"), Long.parseLong(jsonObject.getString("expires_in")));
            accessToken=jsonObject.getString("access_token");
        } catch (JSONException e) {
            // 获取token失败
            System.out.println("获取token失败 errcode:{} errmsg:{}"+Integer.parseInt(jsonObject.getString("expires_in"))+jsonObject.getString("errmsg"));
        }
    }
    return accessToken;
}

2、请求内容安全监测,具体参数可参考微信:文本内容安全识别 | 微信开放文档

public boolean contentSafe( String content,String openId) {
    String  accessToken=this.getAccessToken();
    String requestUrl = checkUrl.replace("ACCESS_TOKEN", accessToken);
    JSONObject map=new JSONObject();
    map.put("openid",openId);
    map.put("scene",3);
    map.put("version",2);
    map.put("content",content);
    String jsonObject = HttpUtil.postData(requestUrl,map.toJSONString());  //调用通用的https请求方法
    System.out.println(jsonObject);
    JSONObject jsonObject1= JSON.parseObject(jsonObject);
    JSONObject result = (JSONObject)jsonObject1.get("result");
    System.out.println("----------------"+result);
    String suggest = result.getString("suggest");
    String label = result.getString("label");
    System.out.println(suggest);
    System.out.println(label);
    if (suggest.equals("pass")&&label.equals("100")){
        return true;
    }
    return false;
}

3、请求图片安全检测,具体参数参考微信:音视频内容安全识别 | 微信开放文档

public boolean imgSafe(String img, String openId) {
    String  accessToken=this.getAccessToken();
    String requestUrl = checkImgUrl.replace("ACCESS_TOKEN", accessToken);
    JSONObject map=new JSONObject();
    map.put("openid",openId);
    map.put("scene",3);
    map.put("version",2);
    map.put("media_url",img);
    map.put("media_type",2);
    String jsonObject = HttpUtil.postData(requestUrl,map.toJSONString());  //调用通用的https请求方法
    System.out.println(jsonObject);
    JSONObject jsonObject1= JSON.parseObject(jsonObject);
    String errmsg = jsonObject1.getString("errmsg");
    System.out.println("----------------"+errmsg);
   if (errmsg.equals("ok")){
       return true;
   }
    return false;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值