检测小程序内容图片安全API

检测一段文字是否安全
//获取小程序token
$accessToken = $this->gettoken();
$url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=".$accessToken;
$examdata = json_encode(['content'=>$data['content']],JSON_UNESCAPED_UNICODE);
$respon = $this->curlRequest($url,'post',$examdata);
$respon = json_decode($respon,true);
if($respon['errcode'] == 87014){
	return json(array('code'=>'','msg'=>'效验失败,内容含有违法违规内容'));//效验失败,内容含有违法违规内容
}
检测一张图片是否安全
//获取token
$accessToken = $this->gettoken();
$url = "https://api.weixin.qq.com/wxa/img_sec_check?access_token=".$accessToken;
$file_path = $_SERVER['DOCUMENT_ROOT'].($fileurl);//接受表单文件保存本地的文件地址
$file_data = array("media"  => new \CURLFile($file_path));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch , CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $file_data);
$output = curl_exec($ch);//发送请求获取结果
curl_close($ch);//关闭会话
$output=json_decode($output,true);
if($output['errcode'] == 87014){
   return json(array('code'=>'','msg'=>'效验失败,内容含有违法违规内容'));
}
获取token
public function gettoken(){
	$APPID = "替换成你的APPID";
	$APPSECRET =  "替换成你的APPSECRET";
	//获取access_token
	$access_token = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET";
	if (!session_id()) session_start();
	$_SESSION['access_token'] = "";
	$_SESSION['expires_in'] = 0;
	if(!isset($_SESSION['access_token']) || (isset($_SESSION['expires_in']) && time() > $_SESSION['expires_in'])){
		$json = $this->httpRequest( $access_token );
		$json = json_decode($json,true);
		$_SESSION['access_token'] = $json['access_token'];
		$_SESSION['expires_in'] = time()+7200;
		$ACCESS_TOKEN = $json["access_token"];
	}else{
		$ACCESS_TOKEN =  $_SESSION["access_token"];
   	}
	return $ACCESS_TOKEN;
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是Java实现微信小程序内容安全检测的示例代码: ```java import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class WxMaSecCheckUtil { private static final String API_URL = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=ACCESS_TOKEN"; private static final String CHARSET = "UTF-8"; /** * 调用微信内容安全检测接口 * * @param accessToken 微信 access_token * @param content 待检测内容 * @return boolean 是否合规,true:合规,false:不合规 */ public static boolean checkMsgSec(String accessToken, String content) { try { URL url = new URL(API_URL.replace("ACCESS_TOKEN", accessToken)); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setDoOutput(true); connection.setRequestMethod("POST"); connection.setRequestProperty("Content-Type", "application/json;charset=" + CHARSET); connection.setRequestProperty("Connection", "Keep-Alive"); connection.connect(); DataOutputStream out = new DataOutputStream(connection.getOutputStream()); String postJson = "{\"content\":\"" + content + "\"}"; out.write(postJson.getBytes(CHARSET)); out.flush(); out.close(); InputStream inputStream = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, CHARSET)); StringBuffer buffer = new StringBuffer(); String line = ""; while ((line = reader.readLine()) != null) { buffer.append(line); } reader.close(); String result = buffer.toString(); inputStream.close(); connection.disconnect(); // 根据返回结果判断是否合规 if (result.indexOf("\"errcode\":0") != -1) { return true; } else { return false; } } catch (Exception e) { e.printStackTrace(); return false; } } /** * 计算字符串 SHA1 值 * * @param str * @return */ private static String getSha1(String str) { if (str == null || str.length() == 0) { return null; } try { MessageDigest md = MessageDigest.getInstance("SHA-1"); md.update(str.getBytes()); byte[] digest = md.digest(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < digest.length; i++) { sb.append(String.format("%02x", digest[i])); } return sb.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); return null; } } } ``` 使用方法: 1. 替换API_URL中的ACCESS_TOKEN为实际的access_token; 2. 调用checkMsgSec方法进行内容检测,传入accessToken和待检测内容即可。 注意:此示例仅供参考,实际使用中需要根据业务需求进行修改。同时,微信官方也提供了PHP和Node.js等语言的示例代码,可以参考官方文档进行开发。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值