<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ~~~ <?php namespace app\home\controller; use think\Controller; define("APPID", ""); define('SECRET', ""); class WeChat extends Controller { //獲取用戶基本信息 public function getUser() { $appid=APPID; $secret=SECRET; // access_token 調用接口憑證,這里通過code換取的是一個特殊的網頁授權access_token,與基礎支持中的access_token(該access_token用于調用其他接口)不同 // openid 普通用戶的標識,對當前公眾號唯一 //避免重復發送授權鏈接。已經獲取用戶信息,刷新頁面,獲得重新返回該頁面,導致相同的授權鏈接再次請求,產生錯誤。 //把獲取的用戶信息保存,每次發送請求前,檢查是否已經獲取,如果已經獲取用戶信息,就不再請求。 //提示errcode":40163,"errmsg":"code been used。說明code被使用過一次了,code只能用一次。 //判斷是否發送獲取code連接 if (input('code')) { //獲取到code判斷code是否已經被使用過 if (!cache('code_array')){ //通過code獲取access_token $code = input('code'); $url = "https://api.weixin.qq.com/sns/oauth2/access_token?appid=$appid&secret=$secret&code=$code&grant_type=authorization_code"; $result=$this->request($url); if (!$result) { return false; } $arr=json_decode($result,true); cache('code_array',$arr,7200); } //獲取access_token,openid $code_array=cache('code_array'); $access_token=$code_array['access_token']; $openid=$code_array['openid']; $url="https://api.weixin.qq.com/sns/userinfo?access_token=$access_token&openid=$openid&lang=zh_CN"; $result=$this->request($url); if (!$result) { return false; } //$arr 用戶信息數組 $arr=json_decode($result,true); return $arr; }else{ //發送獲取code連接 $url="https://open.weixin.qq.com/connect/oauth2/authorize?appid=$appid&redirect_uri=*****網站地址*****&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"; //發送GET請求 header("Location: ".$url); exit();//必要 } } /* *發送GET請求方法 *@param string $url URL *@param bool $ssl 是否為https協議 *@return string 響應主體內容 */ private function request($url,$data=null){ $curl=curl_init(); curl_setopt($curl, CURLOPT_URL, $url); //設定為不驗證證書和host curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); if(!empty($data)){ curl_setopt($curl, CURLOPT_POST, true); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); } // 將curl_exec()獲取的信息以文件流的形式返回,而不是直接輸出 curl_setopt($curl,CURLOPT_RETURNTRANSFER,true); $output=curl_exec($curl); if (false===$output) { echo "<br/>",curl_error($curl),"<br/>"; return false; } curl_close($curl); return $output; } } ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看