想用php给特定的频道设备推送消息,总是出错。直接上代码:

public function api(){
      $channel=I('channel');
      //初始化,创建一个curl资源
      $info=curl_init();
      
      //设置url和相应的选项
      curl_setopt($info, CURLOPT_HTTPHEADER, array(
        "X-LC-Id:",
        "X-LC-Key:",
        "Content-Type: application/json"
      ));
      curl_setopt($info, CURLOPT_URL, "https://api.leancloud.cn/1.1/push?".urlencode("'where':{'channel':{'$resex':'{$channel}','data':{'alert':'{'action':'com.auais.CMD','cmd':'cmd_update_card'}'}}"));
      curl_setopt($info, CURLOPT_HEADER,FLASE);
      curl_setopt($info, CURLOPT_SSL_VERIFYPEER, FALSE);
      curl_setopt($info, CURLOPT_SSL_VERIFYHOST, FALSE);
      curl_setopt($info, CURLOPT_RETURNTRANSFER, TRUE);

      //抓取url并传递给浏览器
  $want=curl_exec($info);
  $one=json_decode($want);
  //$error=curl_error($info);
  //关闭curl资源,并且释放系统资源
  curl_close($info);
  dump($one);
  //return $error;
  // return $one;
}

请问收到的错误提示是什么?是必然出错还是偶尔出错?

必然出错,提示not found

恩,现在设置了post了,报错变成了data必须是一个有效的json对象,data数据要进行怎么样的预处理吗

参数要放在 body 里面发

我参考的这个文档里的这个例子
发送给特定的用户:
curl -X POST \
-H "X-LC-Id: " \
-H "X-LC-Key: " \
-H "Content-Type: application/json" \
-d '{
"where":{
"channels":
{"$regex":"\Qpublic\E"}
},
"data": {
"alert": "LeanCloud 向您问好!"
}
}' \
https://leancloud.cn/1.1/push

请问,哪儿有body?如果可以的话,能写出来给我看一下吗