I Am I
I Am I
文章86
标签92
分类4
QQ群免IDKEY加群API源码

QQ群免IDKEY加群API源码

网上的源码大都失效 经 @Timi.杨 提醒吾爱一位老哥的源码还可以用
帖子地址:https://www.52pojie.cn/forum.php?mod=viewthread&tid=826998&page=1
所以简单修改了一下改成了API接口

使用示例

请求示例(JSON):https://tenapi.cn/qun?qun=546609030
请求示例(直接跳转):https://tenapi.cn/qun?qun=546609030&type=301
返回格式(JSON):

{
  "code": 200,
  "data": {
    "uid": 546609030,
    "idkey": "df59c76814fbcf651ee2b3d9449d4976a5671bf89d5a6c36706563cf1c250c94",
    "url": "http://wp.qq.com/wpa/qunwpa?idkey=df59c76814fbcf651ee2b3d9449d4976a5671bf89d5a6c36706563cf1c250c94"
  }
}

PHP源码

<?php
$qqun=$_GET['qun'];
$type =$_GET['type'];
$t=time()*1000;
if ($qqun ==''){
echo "参数不能为空";
}
if ($qqun != null) {
$url="http://wp.qq.com/wpa/g_wpa_get?guin=".$qqun."&t=".$t;
$arr = json_decode($url,true);
$ResArray=json_decode(curl_request($url,'get'),true);
$uid = $ResArray['result']['data'][0]['guin'];
$idkey = $ResArray['result']['data'][0]['key'];
if ($type == 301) {
    $cs='http://wp.qq.com/wpa/qunwpa?idkey='. $idkey .'';
        header("Location:{$cs}");
}
$Json = array(
            "code" => 200,
            "data" => array(
                "uid" => $uid,
                "idkey" => $idkey,
                "url" => 'http://wp.qq.com/wpa/qunwpa?idkey='. $idkey .'',
            )
        );
$Json = json_encode($Json,JSON_PRETTY_PRINT|JSON_UNESCAPED_UNICODE);
echo stripslashes($Json);
return $Json;
}
//参数1:访问的URL,参数2:post数据(不填则为GET),参数3:提交的$cookies,参数4:是否返回$cookies
 function curl_request($url,$post='',$cookie='', $returnCookie=0){
        $curl = curl_init();
        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)');
        curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
        curl_setopt($curl, CURLOPT_AUTOREFERER, 1);
        curl_setopt($curl, CURLOPT_REFERER, "http://XXX");
        if($post) {
            curl_setopt($curl, CURLOPT_POST, 1);
        }
        if($cookie) {
            curl_setopt($curl, CURLOPT_COOKIE, $cookie);
        }
        curl_setopt($curl, CURLOPT_HEADER, $returnCookie);
        curl_setopt($curl, CURLOPT_TIMEOUT, 10);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($curl);
        if (curl_errno($curl)) {
            return curl_error($curl);
        }
        curl_close($curl);
        if($returnCookie){
            list($header, $body) = explode("\r\n\r\n", $data, 2);
            preg_match_all("/Set\-Cookie:([^;]*);/", $header, $matches);
            $info['cookie']  = substr($matches[1][0], 1);
            $info['content'] = $body;
            return $info;
        }else{
            return $data;
        }
}