php使用curl访问https返回无结果的问题

最近在开发一套自己的微信公众平台SDK ,目的就是为了让自己以后管理更方便。

但在创建菜单时却遇到了问题——使用curl返回无结果!以前的代码如下:


$jsonmenu = urldecode(json_encode($menu));
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$this->getToken();
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$jsonmenu);
$resultj = curl_exec($ch);
curl_close($ch);

 

想来想去,感觉没有什么错的,于是网上查找问题,结果网上也很少有这方面的解答。最后还是回归到了PHP的开发手册。在手册上发现了这样一句话:

phpcurl

在想是不是这个的原因呢?因为毕竟上面写了SSL认证是开启的。于是,更改之后代码变成了:


$jsonmenu = urldecode(json_encode($menu));
$url = "https://api.weixin.qq.com/cgi-bin/menu/create?access_token=".$this->getToken();
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不验证证书
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$jsonmenu);
$resultj = curl_exec($ch);

随后,echo 出$resultj,成功返回数据。

问题解决!.

如果有遇到相同问题的朋友们,希望能帮到你们!

 



本文链接:php使用curl访问https返回无结果的问题

转载声明:本站文章若无特别说明,皆为原创,转载请注明来源:@闫嵩达,谢谢!^^


php使用curl访问https返回无结果的问题》上有17条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注