zoukankan      html  css  js  c++  java
  • 微博第三方登录 curl post传值 处理返回的json数据

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    $code $_GET['code'];
     
    //-----登录要提交的表单数据---------------
            $vars['client_id'] = '。。。';  //Appkey
             $vars['client_secret'] = '。。。';  //app secret
             $vars['grant_type'] = 'authorization_code';
             $vars['code'] = $code;
             $vars['redirect_uri'] = '。。。。';   //回调地址
       //-------------------------------------
            $method_post = true;
            //登录提交的url地址(表单中的action的绝对地址)
             $url 'https://api.weibo.com/oauth2/access_token';
            //----------------------------
             $ch = curl_init();
            $params[CURLOPT_URL] = $url;    //请求url地址
            $params[CURLOPT_HEADER] = false; //是否返回响应头信息
            $params[CURLOPT_RETURNTRANSFER] = true; //是否将结果返回
            $params[CURLOPT_FOLLOWLOCATION] = true; //是否重定向
            $params[CURLOPT_USERAGENT] = 'Mozilla/5.0 (Windows NT 5.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1';
               
    $postfields '';
            foreach ($vars as $key => $value){
                $postfields .= urlencode($key) . '=' . urlencode($value) . '&';
            }
             
            $params[CURLOPT_POST] = true;
            $params[CURLOPT_POSTFIELDS] = $postfields;
     
            curl_setopt_array($ch$params); //传入curl参数
            $content = curl_exec($ch); //执行       
    /*
    $obj = json_decode($content);
    $token = $obj->{'access_token'};
    */
    $arr = json_decode($content,true);
    $token $arr['access_token'];
    <br>curl_close($ch); //关闭连接

    第三方登录   获取令牌时    post方式传值  用curl

    返回的数据是json的格式:如下图

     

    获取access_token值时,对json数据进行处理

    首先保证返回的数据只是json数据,所以   

    $params[CURLOPT_HEADER] = false; //是否返回响应头信息   设为false,不要响应头显示

    其次,按对象处理

    1
    2
    $obj = json_decode($content);
    $token $obj->{'access_token'};

    或者,按数组处理

    1
    2
    $arr = json_decode($content,true);
    $token $arr['access_token'];<br><br>最后,ok了
  • 相关阅读:
    opengl像素格式管理
    opengl的体系结构
    符号文件——Windows 应用程序调试必备
    [Study Note] Patterns in Practice 20100404
    “在我的机器上可以运行”症状自查(Windows编程)
    [Study Note] Patterns in Practice 20100402
    [Study Note] Patterns in Practice 20100406
    [Study Note] Design and Testability 20100410
    [Study Note] Patterns in Practice 20100403
    [Study Note] Design and Testability 20100411
  • 原文地址:https://www.cnblogs.com/georgelu/p/7066522.html
Copyright © 2011-2022 走看看