收藏
回答

security.msgSecCheck都返回ok?

第一采用的post请求方式。

第二是中文汉字UTF-8的。  

public function getMsgSecCheck(){

        $data = [];

        $content      = $this->request->param('content/s');

        $content      = '能不ok?售卖特3456书yuuo莞6543李zxcz蒜7782法fgnv级 完2347全dfji试3726测asad感3847知qwez到枪支弹药病毒冰毒的';

        //$content      = urldecode($content);

        // $content      = unicode_to_utf8($content);

        $access_token = $this->getAccessToken();

        if(!empty($access_token) && !empty($content)) {


            $url = 'https://api.weixin.qq.com/wxa/msg_sec_check?access_token='.$access_token;

            $result = $this->ihttp_post($url, json_encode(['content'=>$content]));

            if (is__json($result)) {

                $result = json_decode($result,true);

            }

            // $result['errcode'] = 0;//内容正常

            // $result['errMsg '] = ok;//内容正常

            // $result['errcode'] = 87014;//内容含有违法违规内容

            // $result['errMsg '] = risky;//内容含有违法违规内容

            echo json_encode(["code"=>200, "message"=>"请求成功",'data'=>$result,'content'=>$content]);exit();

        }

        echo json_encode(["code"=>0, "message"=>"请求失败",'data'=>$data]);exit();

    }

回答关注问题邀请回答
收藏

3 个回答

  • 踏雪无痕
    踏雪无痕
    发表于移动端
    2020-08-08
    OK
    2020-08-08
    有用
    回复
  • Andy
    Andy
    2020-05-29

    2020-05-29
    有用
    回复
  • Mr.Zhao
    Mr.Zhao
    2020-05-29

    2020-05-29
    有用
    回复 5
    • Andy
      Andy
      2020-05-29
      就是上面的代码,直接请求的,返回就是下面的情况。
      2020-05-29
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-05-29回复Andy
      你的content,运行在我的测试代码里没问题。我想看下你postman怎么调用的,因为这个大家都在用
      2020-05-29
      回复
    • Mr.Zhao
      Mr.Zhao
      2020-05-29回复Andy
      $content = json_encode($content, JSON_UNESCAPED_UNICODE) 我看到别人是用这个解决的
      2020-05-29
      回复
    • Andy
      Andy
      2020-05-29
      //post请求
          protected function ihttp_post($url,$post_data,$aHeader=‘’;)
          {
              //初始化
              $curl = curl_init();
              //设置抓取的url
              curl_setopt($curl, CURLOPT_URL, $url);
              curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
              curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE);
              curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
              if ($aHeader) {
                  curl_setopt($curl, CURLOPT_HTTPHEADER, $aHeader);
              }
              //设置post方式提交
              curl_setopt($curl, CURLOPT_POST, 1);
              if (!empty($post_data)) {
                  //设置post数据
                  curl_setopt($curl, CURLOPT_POSTFIELDS, $post_data);
              }
              //执行命令
              $data = curl_exec($curl);
              //关闭URL请求
              curl_close($curl);
              //显示获得的数据
              return $data;
          }
      2020-05-29
      回复
    • Andy
      Andy
      2020-05-29回复Mr.Zhao
      好了谢谢!就是这一句, json_encode($content, JSON_UNESCAPED_UNICODE) ;
      JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256)
      加上就好了,一般不是调用接口,自己转的话都用不到这个的。
      2020-05-29
      回复
登录 后发表内容
问题标签