赞
踩
最近遇到小程序开发,发布文章时要先通过安全检测的问题,虽然调用了微信提供的接口,但是一直返回的是ok的问题:
{
errcode: 0
errmsg: "ok"
}
1、先在小程序的"开发管理" => “安全中心”=>"内容风控"中添加所需要的关键字。
2、后端代码
// 发请求的方法 public function https_curl_json($url,$data,$type) { if($type=='json'){ $headers = array("Content-type: application/json;charset=UTF-8","Accept: application/json","Cache-Control: no-cache", "Pragma: no-cache"); } $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if (!empty($data)){ curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS,$data); } curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers ); $output = curl_exec($curl); if (curl_errno($curl)) { echo 'Errno'.curl_error($curl);//捕抓异常 } curl_close($curl); return $output; } // 处理前端传递文字的方法 public function safeRequest() { $token = $this->getAccessToken(); // 这里是获取小程序的token $content = $this->request->request("content"); // 这里的内容为需要检测的内容 $openid = $this->request->request("openid"); // 这里的openid为用户在当前小程序的openid $data = json_encode(array( 'content' => $content, 'scene' => 4, // 'version' => 2, 'openid' => $openid ), JSON_UNESCAPED_UNICODE); $url = "https://api.weixin.qq.com/wxa/msg_sec_check?access_token=$token"; $info = $this->https_curl_json($url, $data, 'json'); return $info; }
3、前端代码在这里就不展示了,直接把内容和用户的openid传递到后端就行。
1、这里主要是后端处理的时候要携带scene、version、openid这三个参数就可以正常获得正确返回的信息了
2、关于这三个参数在小程序开发者文档也有说明
{ detail: [ 0: { strategy: "content_model", errcode: 0, suggest: "risky", label: 20006, prob: 90 } 1: { strategy: "keyword", errcode: 0, suggest: "risky", label: 20006, level: 100, keyword: "六合彩" } ] errcode: 0 errmsg: "ok" result: { label: 20006 suggest: "risky" } trace_id: "65d47706-30e97dbc-0d4aa9c6" }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。