美文网首页
QQ群一键强制加群API源代码

QQ群一键强制加群API源代码

作者: new个对象 | 来源:发表于2018-09-01 18:51 被阅读0次
    image

    只需要群号实现一键加群,这个API是QQ官方的加群接口得到的,其中包含了三个接口,分别供PC和IOS端和安卓端调用实现加群和直接进群。

    警告:本API仅供开发者学习交流使用,请勿用于非法用途。

    分析接口调用以及PHP写法的思路:

    我们通过QQ群的加群链接抓到GET包:

    http://wp.qq.com/wpa/g_wpa_get?guin=34544417 //主要获取加群链接key的接口
    我们发现这个接口提交GET请求后直接返回{"retcode":100101}
    这是腾讯常见的错误提示,也就是说参数有错误。
    经过我的研究发现,GET这个接口后被重定向到了这个接口:
    http://shang.qq.com/wpa/g_wpa_get?guin=34544417
    然后我们再get发现还是返回{"retcode":100101}
    经过反复的测试得到一个结论:就是需要加请求协议头:
    于是,我加了最基本的请求头的参数:
    Content-Type
    Accept
    Referer
    User-Agent
    然后我们再GET成功返回了我们要的包含key的数据:
    {"retcode":0,"result":{"data":[{"d":"0101020001020004020f1b21","guin":34544417,"key":"68c6e876725f2405ac41260b37f172a926536c2adad746683f924e5bbe40aa15"}]}}
    然后我们要做的就是先取出这个key
    68c6e876725f2405ac41260b37f172a926536c2adad746683f924e5bbe40aa15
    然后我们根据常用的加群链接来获取自己需要的直接加群链接:
    http://wp.qq.com/wpa/qunwpa?idkey=取得的key
    经过测试这又是个重定向链接到:
    http://shang.qq.com/wpa/qunwpa?idkey=取得的key
    根据上面的协议头继续get:
    看到了我们经常通过加群链接加群的跳转页面:
    实际上就是http://shang.qq.com/wpa/qunwpa?idkey=取得的key
    然后我们在这个跳转页面发现了关键的javascript:
     var rawuin = 34544417;
     var qsig = "tencent://groupwpa/?subcmd=all\u0026param=7B2267726F757055696E223A33343534343431372C2274696D655374616D70223A313533353435313938377D0A";
     var k = "http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Fk%3DdU_ErRCUIx0Tk60fxnGotxbZAgiMKdeF";
     var qun_type = "0";
     var referer = "http://wp.qq.com/wpa/qunwpa?idkey=7b44d484b4005f743aa4b2fdf6f201e23e42bc4d4870fde1ee9e66cc95bbcfcd";
    很明显这是腾讯定义的加群链接
    经过分析发现这些url都是有定义的
    其中rawuin是群号
    qsig是PC端直接加群的链接
    k是移动端加群的链接
    referer是重定向的链接
    然后我们在后面的javascript代码中分析得到以下结论:
    如果是当前链接打开直接重定向加群链接
    如果是移动端打开直接重定向到k 的链接
    如果是PC端打开直接重定向到qsig 的链接
    详细说明(本人经过多终端测试得出的结论):
    PC端加群链接(访问直接弹出加群窗口或群聊天窗口,仅支持PC,IOS):tencent://groupwpa/?subcmd=all\u0026param=7B2267726F757055696E223A33343534343431372C2274696D655374616D70223A313533353435313938377D0A
    移动端加群链接(URL需要转码,访问直接跳转到QQ APP群资料页面,支持PC,iOS,安卓):http%3A%2F%2Fqm.qq.com%2Fcgi-bin%2Fqm%2Fqr%3Fk%3DdU_ErRCUIx0Tk60fxnGotxbZAgiMKdeF
    公用加群链接(页面自动判断用户平台,访问自动判断你的终端来加群,支持PC,iOS):http://wp.qq.com/wpa/qunwpa?idkey=7b44d484b4005f743aa4b2fdf6f201e23e42bc4d4870fde1ee9e66cc95bbcfcd
    

    一键加群API接口PHP源代码:

    <?php
    
    $guin = @$_REQUEST['guin']; //接收群号
    $type = @$_REQUEST['type']; //接收类型
    
    if ($guin != '')
    {
    $url = 'http://shang.qq.com/wpa/g_wpa_get?guin='.$guin;
    $data = get($url);
    $key = GetBetween($data,'key":"','"}'); //取得key
    $url = 'http://shang.qq.com/wpa/qunwpa?idkey='.$key;
    $body = get($url); //取得跳转页面源码
    
    if ($type != '')
    {
    if ($type == '1') //如果类型为1,取得PC端加群链接
    {
    $link = GetBetween($body,'var qsig = "','";'); //取得PC端加群链接
    $link = str_replace('\u0026','&',$link);
    //echo $link;
    header('Location:'.$link); //重定向加群链接直接加群
    }
    
    if ($type == '2') //如果类型为2,取得移动端加群链接
    {
    $link = GetBetween($body,'var k = "','";');
    $link = urldecode($link);
    //echo $link;
    header('Location:'.$link); //重定向加群链接直接加群
    }
    
    if ($type == '3') //如果类型为3,取得公用加群链接
    {
    //echo $url;
    header('Location:'.$url); //重定向加群链接直接加群
    }
    
    }else{
    //echo $body;
    header('Location:'.$url);
    }
    }else{
    echo '群号guin参数不正确';
    }
    
    function GetBetween($content,$start,$end){
    $r = explode($start, $content);
    if (isset($r[1])){
    $r = explode($end, $r[1]);
    return $r[0];
    }
    return '';
    }
    
    function get($url)
    {
    $header = array (
    "Content-Type: application/x-www-form-urlencoded",
    'Accept: */*',
    "Referer: ".$url,
    'User-Agent: Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1)',);
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
    curl_setopt($ch, CURLOPT_URL, $url);
    $output = curl_exec($ch);
    curl_close($ch);
    return $output;
    }
    
    ?>
    

    调用方式

    公用一键加群:https://api.mlwei.com/qun/?guin=34544417
    
    PC端加群:https://api.mlwei.com/qun/?guin=34544417&type=1
    
    移动端加群:https://api.mlwei.com/qun/?guin=34544417&type=2
    
    公用加群链接:https://api.mlwei.com/qun/?guin=34544417&type=3
    
    注:34544417是群号,后面的参数是类型。
    

    转自小伟博客

    相关文章

      网友评论

          本文标题:QQ群一键强制加群API源代码

          本文链接:https://www.haomeiwen.com/subject/sjvuwftx.html