入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

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

创建时间:2016-10-19 投稿人: 浏览次数:4039

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

公众平台说获取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); //显示数据

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

声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。