微信的接口调用比如accesstoken都是https协议的,如果直接通过http访问,则会返回错误信息
PHP的CURL可以模拟提交请求或者接受请求,这里我们需要请求微信后台接口。
而CURL最新版本中,
CURLOPT_SSL_VERIFYPEER | FALSE 禁止 cURL 验证对等证书(peer's certificate)。要验证的交换证书可以在 CURLOPT_CAINFO 选项中设置,或在CURLOPT_CAPATH 中设置证书目录。 | 自cURL 7.10开始默认为 TRUE 。从 cURL 7.10开始默认绑定安装。 |
所以通过取消认证。则可以成功返回数据
以下是获取accesstoken的例子:
$curl = curl_init();
//设置抓取的url
curl_setopt($curl, CURLOPT_URL, "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=xxx&secret=xxx");//输入自己的微信公众号APPID和secret
//设置头文件的信息作为数据流输出
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); //不验证证书
curl_setopt($curl, CURLOPT_HEADER, 0);
//设置获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
//执行命令
$data = curl_exec($curl);
//关闭URL请求
curl_close($curl);
//显示获得的数据
print_r($data);