0
点赞
收藏
分享

微信扫一扫

CURL 笔记:微信 curl 方式 获取access_token https

微信 curl 方式 获取access_token

我是菜,所以往往一个小小的问题就会困扰我很久

公众平台说获取access_token是这样的

接口调用请求说明
http请求方式: ​​​GET​​​
​​​https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET​​

我的代码是这样的,根据网上太多的教程

define('AppScret','7a424cd03ac5558dc3e57bd35ddf0e7a63');
define('AppID','wx340a68150f5327747');
define('TOKEN','ImKidding');

$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.AppID.'&secret='.AppScret;

$ch = curl_init();

curl_setopt($ch,CURLOPT_URL,$url); //请求的URL
curl_setopt($ch,CURLOPT_HEADER,false); //是否显示头部
curl_setopt($ch,CURLOPT_RETURNTRANSFER,false); //是否直接输出到屏幕
//上面true 和 false 也可以用0、1,但我习惯用这个。由于只是取数据,没必要显示到屏幕上

//curl_setopt($ch,CURLOPT_POST,true); //是否以post方式
$accToken = curl_exec($ch);
curl_close($ch);

var_dump($accToken);

但这样执行怎么都获取不了结果,一直是​​false​​,为什么,因为这个地址是 ​https​ 的!
网上多数教程都没有写这点,但终于我还是找到了,在里面添加这两条

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //https请求 不验证证书 其实只用这个就可以了
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //https请求 不验证HOST

然后就可以获取到这样的结果

{
"access_token":"tAbZcPZXsLq-6bD-SaVesflOUVR1q9Ir9Q17jSQ2VzICVLUQaxwFURLThVjviUuzfr55s1PeHMglcSQilDfkYo6jn-mpU2bpTyxOqPQaofQIlsaslL6rBwcg21utmHaDObISNiADADNI",
"expires_in":7200
}

总结一下curl的知识

如果你怎么弄都不行,可能是你的curl功能没有在php中开启,百度关键词 ​​php 开启curl​

define('AppScret','7a424cd03ac5558dc3e57bd35ddf0e7a63');
define('AppID','wx340a68150f5327747');
define('TOKEN','KiddingYou');

$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid='.AppID.'&secret='.AppScret;

//1 - 初始化curl
$ch = curl_init();

//2 - 设置curl参数
curl_setopt($ch,CURLOPT_URL,$url); //请求的URL
curl_setopt($ch,CURLOPT_HEADER,false); //是否显示头部
curl_setopt($ch,CURLOPT_RETURNTRANSFER,false); //是否直接输出到屏幕
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //https请求 不验证证书 其实只用这个就可以了
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //https请求 不验证HOST

curl_setopt($ch,CURLOPT_POST,true); //是否以post方式,如果true,就是以post的方式,如果false就以get方式,根据自己需要来

//******上面 true 和 false 也可以用 0 、 1 **************


//3 - 获取数据
$accToken = curl_exec($ch);

//4 - 关闭资源
curl_close($ch);

var_dump($accToken); //显示数据

新手如果有什么问题,尽可以问


举报

相关推荐

0 条评论