今天突然说小程序版本审核要我们处理评论中的敏感词内容,踩了一些坑终于搞好了,贴下代码出来吧,文档说的不是很详细,估计有不少小伙伴踩坑了。
public function keyCheck(){
$wxToken=wxTokenCheck(); //获取微信token
$key = input(‘key’);
$url = ‘https://api.weixin.qq.com/wxa/msg_sec_check?access_token=’.$wxToken['token’];
$data = json_encode([‘content’=>$key],JSON_UNESCAPED_UNICODE); //一定要把中文转成utf8!!!
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_URL,$url); // url
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data); // json数据
$res = curl_exec($ch); // 返回值
curl_close($ch);
$result = json_decode($res,true);
echo "<pre>";
var_dump($result);
var_dump($data);
echo "</pre>";
}
我测试的也不行啊
踩雷了, 我用的是swoole的框架,guzzle客户端调用.
$content = '特3456书yuuo莞6543李zxcz蒜7782法fgnv级'; $uri = sprintf('https://api.weixin.qq.com/wxa/msg_sec_check?access_token=%s',$access_token); $options = [ "headers" => [ "Content-Type" => "application/json", ], 'body' => json_encode(['content'=>$content],JSON_UNESCAPED_UNICODE), ]; dump($uri); dump($options); $resp = di(ClientFactory::class)->create()->post($uri, $options); $resp2array = json_decode($resp->getBody()->getContents(), true); dump($resp2array);
脑瓜疼! 有谁用guzzle 的成功示例吗?贴下!谢谢!
我就是这样用的 我输入敏感词进行测试 还是一样返回
Array ( [content] => 赌博 ) Array ( [errcode] => 0 [errmsg] => ok )