zoukankan      html  css  js  c++  java
  • 微信获取access_token和curl

    public function get_wx_access_token()
        {
            //将access_token存在session/cookie中
            //如果access_token在session中并没有过期
            if (isset($_SESSION['access_token']) && $_SESSION['expire_time'] > time()) {
                return $_SESSION['access_token'];
            }
            //如果access_token不存在或者已经过期,重新获取access_token
            else {
                //$appid     = 'wx5486430ceb12f84a';
                // $appsecret = 'f52859525c6b799636d78bb49af14513';
                $url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" . $this->appid . "&secret=" . $this->appsecret;
                $arr = $this->http_curl($url);
                //存到session中
                $access_token             = $arr['access_token'];
                $_SESSION['access_token'] = $arr['access_token'];
                $_SESSION['expire_time']  = time() + 7200;
                return $access_token;
            }
        }
    protected function http_curl($url, $arr = '', $type = 'get', $res = 'json')
        {
            $ch = curl_init();
            //设置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);
            }
            //采集
            $output = curl_exec($ch);
            if ($res == 'json') {
                if ($err = curl_errno($ch)) {
                    //要在关闭之前获得curl_errno
                    curl_close($ch);
                    //请求失败,返回错误信息
                    return $err;
                } else {
                    //请求成功
                    return json_decode($output, true);
                }
            }
        }
  • 相关阅读:
    10分钟学会理解和解决MySQL乱码问题
    C# 序列类为 xml 可以使用的特性大全
    C# GUID ToString
    C# GUID ToString
    C# AddRange 添加位置
    C# AddRange 添加位置
    VisualStudio 使用多个环境进行调试
    VisualStudio 使用多个环境进行调试
    C# 使用外部别名
    C# 使用外部别名
  • 原文地址:https://www.cnblogs.com/stj123/p/12323641.html
Copyright © 2011-2022 走看看