亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

關于抓取access_token

這里給大家一個提示,如果你的測試號驗證是通過的。我對比了兩種代碼的使用,關于抓取access_token的。如果使用面向對象的方式:$this -> http_curl($url,'get','json');老師寫的http_curl函數是沒辦法抓取到json數據包的.......我也不知道為什么。而如果直接用curl寫,則可以。

function getWxAccessToken(){

? ? ? ? // if($_SESSION['accessToken'] && $_SESSION['expires_in']> time()){

? ? ? ? // ? ? echo $_SESSION['accessToken'];

? ? ? ? // ? ? return $_SESSION['accessToken'];

? ? ? ? // }else{

? ? ? ? ? ? $appid = '';

? ? ? ? ? ? $appsecret = '';

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

? ? ? ? ? ? //2初始化

? ? ? ? $ch = curl_init();

? ? ? ? //3.設置參數

? ? ? ? curl_setopt($ch , CURLOPT_URL, $url);

? ? ? ? curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);

? ? ? ? //4.調用接口?

? ? ? ? $res = curl_exec($ch);

? ? ? ? //5.關閉curl

? ? ? ? curl_close( $ch );

? ? ? ? if( curl_errno($ch) ){

? ? ? ? ? ? var_dump( curl_error($ch) );

? ? ? ? }

? ? ? ? $arr = json_decode($res, true);

? ? ? ? var_dump( $arr );

? ? ? ? // }

? ? }

回答那里不好寫代碼,現行的可行的代碼就放在這里了:

function http_curl($url,$type='get',$res='json',$arr=''){

? ? ? ? //1.初始化curl

? ? ? ? $ch = curl_init();

? ? ? ? //2.設置curl的參數

? ? ? ? curl_setopt($ch, CURLOPT_URL, $url);

? ? ? ? curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

? ? ? ? if($type == 'post'){

? ? ? ? ? ? curl_setopt($ch,CURLOPT_POST,1);

? ? ? ? ? ? curl_setopt($ch,CURLOPT_POSTFIELDS,$arr);

? ? ? ? }

? ? ? ? //3.采集

? ? ? ? $output = curl_exec($ch);

? ? ? ? //4.關閉

? ? ? ? curl_close($ch);

? ? ? ? if($res == 'json'){

? ? ? ? ? ? return json_decode($output,true);

? ? ? ? }

? ? }


? ? function getWxAccessToken(){

? ? ? ? if($_SESSION['accessToken'] && $_SESSION['expires_in']> time()){

? ? ? ? ? ? var_dump($_SESSION);

? ? ? ? ? ? return $_SESSION['accessToken'];

? ? ? ? }else{

? ? ? ? ? ? $appid = '';

? ? ? ? ? ? $appsecret = '';

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

? ? ? ? ? ? // //2初始化

? ? ? ? ? ? // $ch = curl_init();

? ? ? ? ? ? // //3.設置參數

? ? ? ? ? ? // curl_setopt($ch , CURLOPT_URL, $url);

? ? ? ? ? ? // curl_setopt($ch , CURLOPT_RETURNTRANSFER, 1);

? ? ? ? ? ? // //4.調用接口?

? ? ? ? ? ? // $res = curl_exec($ch);

? ? ? ? ? ? // //5.關閉curl

? ? ? ? ? ? // curl_close( $ch );

? ? ? ? ? ? // if( curl_errno($ch) ){

? ? ? ? ? ? // ? ? var_dump( curl_error($ch) );

? ? ? ? ? ? // }

? ? ? ? ? ? // $arr = json_decode($res, true);

? ? ? ? ? ? $arr = $this -> http_curl($url,'get','json');

? ? ? ? ? ? $accessToken = $arr['access_token'];

? ? ? ? ? ? $_SESSION['accessToken'] = $accessToken;

? ? ? ? ? ? $_SESSION['expires_in'] = time()+7200;

? ? ? ? ? ? var_dump($_SESSION);

? ? ? ? ? ? return $accessToken;

? ? ? ? }

? ? }

正在回答

1 回答

親測對比有效,可能是代碼在調用http_curl函數的時候出了問題

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

關于抓取access_token

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號