<option id="tpnx7"><p id="tpnx7"><pre id="tpnx7"></pre></p></option>
<output id="tpnx7"></output>
<output id="tpnx7"><ruby id="tpnx7"></ruby></output>
    <output id="tpnx7"></output><acronym id="tpnx7"><button id="tpnx7"><div id="tpnx7"></div></button></acronym><code id="tpnx7"><menuitem id="tpnx7"></menuitem></code>

    首页 > 上网技巧 > 电脑小技巧 > QQ群一键强制加群API源代码

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

    时间:2019-03-26 16:05 作者:admin 我要评论

    只需要群号实现一键加群,这个API是QQ官方的加群接口得到的,其中包含了三个接口,?#30452;?#20379;PC和IOS端和安卓端调用实现加群和直接进群。
     
    警告:本API仅供开发者学习交流使用,请勿用于非法用途。
     
    分析接口调用以及PHP写法的思路:
    我们通过QQ群的加群链接抓到GET包:
    http://wp.qq.com/wpa/g_wpa_get?guin=34544417 //主要获取加群链接key的接口
    我们发现这个接口提交GET请求后直接返回{"retcode":100101}
    这是腾讯常见的错误提示,也就是说参数?#20889;?#35823;。
    经过我的研究发现,GET这个接口后被重定向到了这个接口:
    http://shang.qq.com/wpa/g_wpa_get?guin=34544417
    然后我们再get发?#21482;?#26159;返回{"retcode":100101}
    经过反复的测试得到一个结论:就是需要加请求协议头:
    于是,我加了最基本的请求头的参数:
    Content-Type
    Accept
    Referer
    User-Agent
    然后我们再GET成功返回了我们要的包含key的数据:
    {"retcode":0,"result":{"data":[{"d":"0101020001020004020f1b21","guin":34544417,"key":"68c6e876725f2405ac41260b37f172a926536c2adad746683f924e5bbe40aa15"}]}}
    然后我们要做的就是?#28909;?#20986;这个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 的链接
    详细?#24471;鰨?#26412;人经过多终端测试得出的结论):
    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
    公用加群链接(页面自动判断用户平台,访?#39318;?#21160;判断你的终端来加群,支持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;
    }
     
    ?>
     
     
    调用方式:
     
    公用一键加群:http://www.05547582.com/tool/qun.php?guin=88888888
     
    PC端加群:http://www.05547582.com/tool/qun.php?guin=88888888&type=1
     
    移动端加群:http://www.05547582.com/tool/qun.php?guin=88888888&type=2
     
    公用加群链接:http://www.05547582.com/tool/qun.php?guin=88888888&type=3
     
    注:88888888是群号,后面的参数是类型。
     

    标签:
    顶一下
    (0)
    0%
    踩一下
    (0)
    0%

    Google提供的广告

    广东十分快乐开奖结果
    <option id="tpnx7"><p id="tpnx7"><pre id="tpnx7"></pre></p></option>
    <output id="tpnx7"></output>
    <output id="tpnx7"><ruby id="tpnx7"></ruby></output>
    <output id="tpnx7"></output><acronym id="tpnx7"><button id="tpnx7"><div id="tpnx7"></div></button></acronym><code id="tpnx7"><menuitem id="tpnx7"></menuitem></code>

    <option id="tpnx7"><p id="tpnx7"><pre id="tpnx7"></pre></p></option>
    <output id="tpnx7"></output>
    <output id="tpnx7"><ruby id="tpnx7"></ruby></output>
    <output id="tpnx7"></output><acronym id="tpnx7"><button id="tpnx7"><div id="tpnx7"></div></button></acronym><code id="tpnx7"><menuitem id="tpnx7"></menuitem></code>

    江苏e球彩走势 天津十一选五计划 重庆五分彩 众彩网山西11选5 pk10 qq昵称.cc 3d开奖结果湖北快三开奖结果 重庆幸运农场历史开奖记录查询表 浙江十一选五任四奖金 排列三组选号166的前后关系 彩经网杀号 七星彩开奖结果直播现场 公式规律下期单双 辽宁35选7今晚开奖 内幕凤凰四肖中特 排列三的开奖号码走势图