获取微信唯一凭证

<?php     

    /**
     * 发送HTTP请求方法,目前只支持CURL发送请求
     * @param  string  $appId    
     * @param  string  $secret   
     * @param  string  $code   
     * @return json             响应数据
     */
    public function getSessionKey(){

        if( input('get.appId') ){
            $appId = input('get.appId');
        }else{
            return $this->autoJson('4000', 'appId不能为空');
        }
        if( input('get.secret') ){
            $secret = input('get.secret');
        }else{
            return $this->autoJson('4000', 'secret不能为空');
        }
        if( input('get.code') ){
            $code = input('get.code');
        }else{
            return $this->autoJson('4000', 'code不能为空');
        }

        $param = array('appid'=>$appId, 'secret'=>$secret,'js_code'=>$code,'grant_type'=>'authorization_code');
        $url = 'https://api.weixin.qq.com/sns/jscode2session';
        return $this->https_request($url, $param);

    }

    /**
     * 发送HTTP请求方法,目前只支持CURL发送请求
     * @param  string $url    请求URL
     * @param  array  $param  GET参数数组
     * @param  array  $data   POST的数据,GET请求时该参数无效
     * @param  string $method 请求方法GET/POST
     * @return array          响应数据
     */
    function https_request($url, $param, $data = '', $method = 'GET')
    {
        $opts = array(
            CURLOPT_TIMEOUT        => 4,
            CURLOPT_RETURNTRANSFER => 1,
            CURLOPT_SSL_VERIFYPEER => false,
            CURLOPT_SSL_VERIFYHOST => false,
        );

        /* 根据请求类型设置特定参数 */
        if (!empty($param)) {
            $opts[CURLOPT_URL] = $url . '?' . http_build_query($param);
        } else {
            $opts[CURLOPT_URL] = $url;
        }

        if (strtoupper($method) == 'POST') {
            $opts[CURLOPT_POST] = 1;
            $opts[CURLOPT_POSTFIELDS] = $data;
        }

        /* 初始化并执行curl请求 */
        $ch = curl_init();
        curl_setopt_array($ch, $opts);
        $data  = curl_exec($ch);
        $error = curl_error($ch);
        curl_close($ch);

        //发生错误,抛出异常
        if ($error) return false;

        return  $data;
    }唯一凭证
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值