php 跳转qq群代码_QQ群一键强制加群API源代码

php 跳转qq群代码_QQ群一键强制加群API源代码

image

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

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

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

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

http://wp.qq.com/wpa/g_wpa_getin=34544417 //主要获取加群链接key的接口

我们发现这个接口提交GET请求后直接返回{“retcode”:100101}

这是腾讯常见的错误提示,也就是说参数有错误。

经过我的研究发现,GET这个接口后被重定向到了这个接口:

http://shang.qq.com/wpa/g_wpa_getin=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/qunwpakey=取得的key

经过测试这又是个重定向链接到:

http://shang.qq.com/wpa/qunwpakey=取得的key

根据上面的协议头继续get:

看到了我们经常通过加群链接加群的跳转页面:

实际上就是http://shang.qq.com/wpa/qunwpakey=取得的key

然后我们在这个跳转页面发现了关键的javascript:

var rawuin = 34544417;

var qsig = “tencent://groupwpa/bcmd=allu0026param=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/qunwpakey=7b44d484b4005f743aa4b2fdf6f201e23e42bc4d4870fde1ee9e66cc95bbcfcd”;

很明显这是腾讯定义的加群链接

经过分析发现这些url都是有定义的

其中rawuin是群

qsig是PC端直接加群的链接

k是移动端加群的链接

referer是重定向的链接

然后我们在后面的javascript代码中分析得到以下结论:

如果是当前链接打开直接重定向加群链接

如果是移动端打开直接重定向到k 的链接

如果是PC端打开直接重定向到qsig 的链接

详细说明(本人经过多终端测试得出的结论):

PC端加群链接(访问直接弹出加群窗口或群聊天窗口,仅支持PC,IOS):tencent://groupwpa/bcmd=allu0026param=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/qunwpakey=7b44d484b4005f743aa4b2fdf6f201e23e42bc4d4870fde1ee9e66cc95bbcfcd

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

$guin = @$_REQUEST[‘guin’]; //接收群

$type = @$_REQUEST[‘type’]; //接收类型

if ($guin != ”)

{

$url = ‘http://shang.qq.com/wpa/g_wpa_getin=’.$guin;

$data = get($url);

$key = GetBetween($data,’key”:”‘,'”}’); //取得key

$url = ‘http://shang.qq.com/wpa/qunwpakey=’.$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;

}

/p>

调用方式

公用一键加群:https://api.mlwei.com/qun/in=34544417

PC端加群:https://api.mlwei.com/qun/in=34544417&type=1

移动端加群:https://api.mlwei.com/qun/in=34544417&type=2

公用加群链接:https://api.mlwei.com/qun/in=34544417&type=3

注:34544417是群 ,后面的参数是类型。

转自小伟博客

相关资源:软件测试群软件测试群软件测试群软件测试群_测试群-其它文档类…

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年1月8日
下一篇 2021年1月8日

相关推荐