用PHP获取微信公众号的access_token是会用到强大的cURL,一般来说平常获取access_token代码如下
//请求url地址
$appId = 'yourAppId';
$appSecret = 'yourAppSecret';
$url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=".$appId."&secret=".$appSecret;
//初始化curl
$ch = curl_init($url);
//3.设置参数
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
//4.调用接口
$res = curl_exec($ch);
if(curl_errno($ch)){
var_dump(curl_error($ch));
}
$resArr = json_decode($res,1);
var_dump($resArr);
//5.关闭curl
curl_close($ch);
但是获取到的值为null,这是由于微信公众号自带的证书验证造成的,所以只需要在设置参数的步骤中加入以下代码即可
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//跳过证书验证
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
在实际中只需要第一条跳过证书验证即可,但是为了保险,依然加上跳过加密算法