已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > PHP > 讨论/求助

标题: 【已结案】qq第三方登陆,灵异事件

作者: @Ta

时间: 2019-05-10发布,2019-05-13修改

点击: 4194

第一次是由 PHPCurl的GET请求返回结果,
第二次用相同的URL,人工浏览器请求。
效果不一样

  public function query()
    {
        $code=$this->code;
        $url='https://graph.qq.com/oauth2.0/token?grant_type=authorization_code&client_id='.$this->app_id.'&client_secret='.$this->secret.'&code='.$code.'&redirect_uri='.urlencode($this->oauth_redirect_uri);

        echo    '请求接口:'.htmlspecialchars($url);
        $result=  $this->curl($url,null);
        echo "<br>".'请求结果:'.$result;
        if(strpos('access_token=',$result)===false)
        {
            return ['errorcode'=>1,'errormsg'=>'无效的接口返回'];
        }

        $access_token=substr($result,strlen('access_token=')-1,strpos('&',$result));
        echo $access_token;
    }

2a9e0e69a70bbc0ed71d4f570b7e038966160.png

[隐藏样式|查看源码]


『回复列表(6|隐藏机器人聊天)』

1. 报错信息不明写着么,标志代码被重用错误
(/@Ta/2019-05-10 08:57//)

2. @胡椒舰长,可以参考一下这个https://51share.xrbk.top/thread-3-1-1.html
(/@Ta/2019-05-10 11:39//)

3. CODE本来就只能用一次
(/@Ta/2019-05-10 13:05//)

4. @水木易安@hik,看清楚,code第一次使用是phpcurl,但是第二次同样的参数用人工浏览器访问code才被激活,说明第一次php curl code激活失败
(/@Ta/2019-05-10 14:23//)

5. @胡椒舰长,嗦嘎
(/@Ta/2019-05-10 15:44//)

6. 找到原因,
QQ的Oauth2.0接口不许接收POST,
上述动作中,curl设定了POST,虽然传入参数为NULL,但是应该是这个原因。导致QQ网关 拦截器层,并未进入逻辑层 直接返回一个结果
注意的坑:关闭curl的post,直接使用纯GET请求
(/@Ta/2019-05-13 18:53//)

回复需要登录

8月24日 11:10 星期天

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1