phpcurl返回false----curl调用微信创建自定义菜单返回false

在调用微信公众平台的创建自定义菜单接口来创建自定义菜单时遇到一个大坑,php curl返回false一直无法调试通过,代码如下:

创新互联是一家专注于网站设计、成都网站建设与策划设计,阿克苏网站建设哪家好?创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:阿克苏等地区。阿克苏做网站价格咨询:13518219792

//创建菜单
public function menu_create($data){
$url =" https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$this->get_access_token()}";
echo $url.'----------
';

      return $this->https_request($url,$data);
  }
  //查询菜单

封装的curl请求函数:

/*
模拟发送get 和 post 请求
*/
public function https_request($url,$data=""){
//curl初始化
$ch=curl_init();
//设置传输地址
curl_setopt($ch,CURLOPT_URL,$url);
//以文件流形式返回数据
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//如有数据要发送,选用post方式提交
if($data){
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$data);
}
//发送请求,返回数据
$request =curl_exec($ch);
$arrTmp =json_decode($request,TRUE);
// $this->count =$this->count + 1;
// echo "

";
// var_dump($arrTmp);
// echo "
";
// echo $this->count.'---------';
//关闭curl
curl_close($ch);
if(is_array($arrTmp)){
return $arrTmp;
}else{
return $request;
}
}

后比对了以前成功调试的代码:

      $url =" https://api.weixin.qq.com/cgi-bin/menu/create?access_token={$this->get_access_token()}";

发现$url中链接字符串前多了一个空格!后来查证:在curl请求的url中包含了空格。注意,是包含了空格,也就是说在url的任何一个位置都不行。如果有则curl返回的结果就是false。然后我使用curl_error($ch)来获取可视获取的结果为string ""也就是空字符串。所以这个就有点儿难判断了。最后发现是url中有了一个空格。
总结:使用curl来请求数据时curl的url地址中的任何地方不能有空格存在!


当前题目:phpcurl返回false----curl调用微信创建自定义菜单返回false
分享网址:http://bzwzjz.com/article/gjcepo.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 网站建设费用 成都网站建设公司 重庆网站建设 成都商城网站制作 成都网站建设公司 成都网站设计 高端网站设计推广 成都网站设计 重庆企业网站建设 营销型网站建设 四川成都网站设计 成都网站设计 营销网站建设 温江网站设计 网站设计 成都网站制作 成都网站建设 品牌网站建设 网站建设改版 营销型网站建设 企业网站建设公司 成都网站建设