PHP 多闪进群 群二维码 获取 验证 进群

2023-05-16

//http://47.xx.xx.109/aaaaaaduoshan.php?quncode=H7StlqMh1PGQ&t=00f7ffd1e1494aa539baac46a97a16234ac8c23fb57eb9704551dabcc3d03cca2be2e48b13f5319c084f82ff0ac611ecb346


<?php

$access_token = "00f7ffd1e1494aa539baac46a97a16234ac8c23fb57eb9704551dabcc3d03cca2be2e48b13f5319c084f82ff0ac611ecb346";
$qunQr = "H7StlqMh1PGQ";

$qunQr = isset($_REQUEST["quncode"]) ? $_REQUEST["quncode"] : ""; //cmd
$qunid = isset($_REQUEST["qunid"]) ? $_REQUEST["qunid"] : ""; //cmd
$access_token = isset($_REQUEST["t"]) ? $_REQUEST["t"] : ""; //cmd


if($qunid){
    $access_token_s = $access_token;
    
    $access_token = "0090e1b8da66c2f19695160bd3812d24dc3b66220b972ec64b79c5c34a3433bc26d0031e29c33042f7b27dbd8aae5d409b42";

    $qunQr = genqr($qunid);

    echo "qr=". $qunQr;

    $access_token = $access_token_s;

    verifyShare($qunQr);

    return;
}

verifyShare($qunQr);

// $tempText = 'maya1349://join_group_dialog?group_name=%E7%94%A8%E6%88%B79418021987658%2C%E5%95%8A%E6%96%8C%2C%E9%98%BF%E5%9D%A4%2C%E6%AD%A5%E6%AD%A5%E6%B8%85%E9%A3%8E%EF%BD%9E%EF%BC%88%F0%9F%87%A8%F0%9F%87%B3%EF%BC%89&group_avatar=https%3A%2F%2Fp3-dy.bytecdn.cn%2Fimg%2Ftos-cn-o-00061%2Fb0cc7c61dd83499cbd18de33303ff536~noop.webp&group_id=6834382064700097037&conversation_id=6834382064700097037&user_id=1275045624940968&secret_type=2&share_scene=13&share_channel=7&ticket=AAEDjsH3frcDoDjjjvgXvnXzg5lGWJIPCovGI94V13GsCgWUzwMi%2Bs3MnhGQhUXsghJQ2LmZivuiaTUbPWFe9jRB';

//AAEDjsH3frcDoDjjjvgXvnXzg5lGWJIPCovGI94V13GsCgWUzwMi%2Bs3MnhGQhUXsghJQ2LmZivuiaTUbPWFe9jRB
//AAEDjsH3frcDoDjjjvgXvnXzg5lGWJIPCovGI94V13GsCgWUzwMi%2Bs3MnhGQhUXsghJQ2LmZivuiaTUbPWFe9jRB

// $tempText = "123456789";
// echo substrText($tempText,"ticket=");
// echo substrText($tempText,"1");


function genqr($group_id="")
{
    // global $qunQr;
    
    $url = "https://maya.ppkankan01.com/maya/qr/gen/?app_name=maya&aid=1349&device_id=708387255261&group_id=$group_id&qr_type=2";
    $from = "qr_type=2";
    
    // {"err_no":0,"message":"success","err_tips":"","data":{"qr_type":2,"qr_text":"L8RjdHmi94EQ","qr_expire":259200}}
    $retText = HttppostTx($url,$from);
    // echo $retText;
    $j = json_decode($retText,true);
    $message = $j["message"];
    $qr_text = $j["data"]["qr_text"];
    if($message == "success"){
        return $qr_text;
    }else{
        return "D=,$group_id,".$message;
    }
    return $qr_text;
}
function verifyShare($secret="")
{
    global $qunQr;
    
    $url = "https://maya.ppkankan01.com/maya/share/verify/?app_name=maya&aid=1349&device_id=708387255262&secret=$secret&secret_type=2";
    $from = "secret_type=2";
    
    // {"err_no":1,"message":"您的账号登录过期,请重新登录","err_tips":"您的账号登录过期,请重新登录","data":{"share_type":0,"open_url":""}}
    
    // {"err_no":0,"message":"success","err_tips":"","data":{"share_type":2,"open_url":"maya1349://join_group_dialog?share_scene=13\u0026share_channel=7\u0026ticket=AAEDjsH3frcDoDjjjvgXvnXzg5lGWJIPCovGI94V13GsCnmI8BtP4QhUotjpKuMV0hWPkVnzfkXaadatii06NjUz\u0026group_name=%E7%94%A8%E6%88%B79418021987658%2C%E5%95%8A%E6%96%8C%2C%E9%98%BF%E5%9D%A4%2C%E6%AD%A5%E6%AD%A5%E6%B8%85%E9%A3%8E%EF%BD%9E%EF%BC%88%F0%9F%87%A8%F0%9F%87%B3%EF%BC%89\u0026group_id=6834382064700097037\u0026user_id=1275045624940968\u0026secret_type=2\u0026group_avatar=https%3A%2F%2Fp3-dy.bytecdn.cn%2Fimg%2Ftos-cn-o-00061%2Fb0cc7c61dd83499cbd18de33303ff536~noop.webp\u0026conversation_id=6834382064700097037"}}
    
    $retText = HttppostTx($url,$from);
    // echo $retText;
    $j = json_decode($retText,true);
    $message = $j["message"];
    $open_url = $j["data"]["open_url"];
    if($message == "success"){
        
        parse_str($open_url, $res);   //第一个参数为字符串,第二个参数为结果
        $ticket = $res["ticket"];
        $ticket = urlencode($ticket);
        // $ticket = substrText($open_url,"ticket=","&group_avatar");
        
        // echo "ticket=".$ticket;
        // echo "<br>";
        
        // echo "open_url=".$open_url;
        groupJoin($ticket);
    }else{
        echo "A=,$qunQr,".$message;
    }
    return $retText;
}

function groupJoin($ticket="")
{
    global $qunQr;
    $url = "https://maya.ppkankan01.com/maya/im/group/join/?app_name=maya&aid=1349&device_id=708387255262";
    $from = "secret_type=2&ticket=$ticket";
    
    //{"err_no":4,"message":"参数错误","err_tips":"","data":{"conversation_short_id":0,"conversation_id":""}}
    
    $retText = HttppostTx($url,$from);
    // echo $retText;
    
    $j = json_decode($retText,true);
    $message = $j["message"];
    $conversation_id = $j["data"]["conversation_id"];
    if($message == "success"){
        // echo "Join_ok=".$conversation_id;
        
        //=============================================
        $fileName = "DSlog/qun_id.txt";//文件名称
        
        if(file_exists($fileName)){
		    $tpddd = file_get_contents($fileName);
        }
        if(stripos($tpddd, $conversation_id) > 0){
			//找到了
		}else{
			$tpddd = $tpddd . "qun_id=".$conversation_id . "\n";
			file_put_contents($fileName, $tpddd);
		}
        //=============================================
        
        echo "B=,$qunQr,进群成功";
    }else if($message == "参数错误"){
        verifyShare($qunQr);
    }else{
        echo "B=,$qunQr,".$message;
    }
    return $retText;
}
function substrText($str="", $zText="", $yText=""){
// $result = strstr($tempText,'ticket=',1);//取前面

    $result = $zText?strpos($str, $zText,0):0;//位置
    $resuly = $yText?strpos($str, $yText,0):0;//位置
    
    
    $s1=$result+strlen($zText);
    $s2=$resuly-$s1;
    if(!$yText ){
        $reText =  substr($str, $s1 );
    }else{
        $reText =  substr($str, $s1 , $s2);
    }
    return $reText;
}
function HttppostTx($url='', $post_data = '', $ContentType="a:a",$timeout = 5)
{
    
    global $access_token;
    // curl
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_POST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不验证证书

    if ($post_data != '') {
        curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
        curl_setopt($ch, CURLOPT_POST, 1);
    }
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'Accept: application/json, text/plain, */*',
'User-Agent: you xun/2.0.4 (iPhone; iOS 12.3.1; Scale/3.00)',
$ContentType,
// 'Content-Type: application/json',
'sdk-version: 1',
'x-Tt-Token: '.$access_token,
    ));
    $file_contents = curl_exec($ch);
    curl_close($ch);
    return $file_contents;
}

?>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

PHP 多闪进群 群二维码 获取 验证 进群 的相关文章

  • 自用git命令

    添加git默认信息 git config add user name 61 34 xxx 34 git config add user email 61 34 xxx 34 远程操作 git remote add origin xxxxx
  • npx命令

    参考文章 xff1a npx是什么命令 xff1f npx和npm有什么区别 xff1f 平时安装node模块的时候 xff0c 经常使用的命令是npm 其实还有另外一个命令 xff0c 叫做npx 网上的说法都是 xff1a npx是np
  • CSS替换元素

    参考文章 xff1a 替换元素 非替换元素 行内替换元素 行内非替换元素 img input到底是行内还是块级元素 xff1f 问题 xff1a img input到底是行内还是块级元素 xff1f 为什么有的行内元素可以撑开父元素 xff
  • PostgreSQL 查询怎么取到json中的字段值 有几种方法

    在PostgreSQL中可以使用多种方法来取到JSON中的字段值 xff0c 以下是其中的三种常用方法 xff1a 1 通过 gt 操作符取值 gt 操作符用于从JSON对象中提取一个键的值 例如 xff0c 假设有一个JSON对象 nam
  • Spring Data Jpa 使用关键字定义查询

    1 创建接口 BookDao java span class token keyword package span top span class token punctuation span woilanlan span class tok
  • 应用服务OkHttpClient创建大量对外连接时内存溢出

    文章目录 1 背景2 排查 2 1 原因 2 2 验证过程2 2 1 修改前2 2 2 修改后 3 解决 1 背景 最近工作中碰到一个生产问题 xff0c 就是应用服务在使用 OkHttpClient 时 xff0c 在创建大量对外连接时线
  • debian11安装docekr

    卸载旧版 apt get remove docker docker engine docker io containerd runc apt get purge docker ce docker ce cli containerd io d
  • C++中的枚举(enum)

    C 43 43 中的枚举 enum 枚举类型 enumeration 是 C 43 43 中的一种派生数据类型 xff0c 它是由用户定义的若干枚举常量的集合 枚举是一个数值集合 xff0c 是给一个值命名的一种方法 如果想要使用整数来表示
  • Django2.0版本的URL配置(笔记)

    升级到Django2 0后 xff0c URL配置发生了一些变化 以最简单的Hello World为例 xff1a views py from django http import HttpResponse def hello reques
  • Django笔记-模型层

    1 模型类定义 模型定义的基本结构 from django db import models class ModelName models Model field 61 models xxfield field 61 models xxfi
  • Django笔记(模型类-管理器)

    模型类 管理器 作用 xff1a 用于与数据库交互 每个模型类默认有一个管理器 xff0c objects objects是Django自动生成的管理器 xff0c 可以实现对数据的查询 objects是models Manger类的一个对
  • ubuntu-5-包管理工具dpkg和apt更新软件源及离线安装软件

    1 软件包安装卸载方法 1 1 apt方式 高级包装工具 Advanced Packaging Tools 简称APT 是Debian及其衍生发行版 如Ubuntu 的软件包管理器 APT可以自动下载 xff0c 配置 xff0c 安装二进
  • FRP|利用FRP完成内网穿透进行windows远程连接的步骤汇总

    文章目录 FRP 利用FRP完成内网穿透进行windows远程连接的步骤汇总本次配置过程的前提 xff1a 服务端配置详情客户端 xff08 windows电脑配置 xff09 FRP 利用FRP完成内网穿透进行windows远程连接的步骤
  • Linux回收站管理

    linux下的回收站在每一个当前用户目录 local share Trash中 xff08 HOME local share Trash files xff09 也可以给linux添加一个回收站 1 mkdir tmp trash tmp
  • Windows系统端口被占用解决方法

    今天使用idea跑一个git项目 xff0c 配置好tomcat后运行报错 xff0c 发现默认端口8080被占用 xff0c 用以下方法解决了问题 目录 解决方法 xff1a 1 打开终端 xff08 WIN 43 R或右键开始菜单选择
  • Ubuntu新硬盘多分区及挂载/home目录

    实验室新到了一块2T的硬盘 xff0c 我需要装在我的电脑上 我自己的电脑本身是双硬盘双系统win10 43 ubuntu16 04 xff0c 其中win10装在一个256GB的固态硬盘上 xff1b ubuntu16 04装在机械硬盘上
  • 2021,我还在路上

    去年写的总结还历历在目 xff0c 只是没发表 今年照例收个尾 xff0c 由于昨天太多人发 xff0c 刻意避开了 今年对我来说 xff0c 是很平凡的一年 xff0c 感觉做了很多事 xff0c 认真回顾又感觉好像也没做什么事 今年也是
  • SpringBoot+MyBatis基于mysql-8.0.11(最新版)的连接测试

    1 项目依赖 xff1a lt 数据源 gt lt dependency gt lt groupId gt com alibaba lt groupId gt lt artifactId gt druid lt artifactId gt
  • logback-spring.xml中MaxHistory日志文件保留天数不生效

    问题 xff1a logback xml中MaxHistory日志文件保留天数不生效 xff0c 文件是10 1 10 8配置MaxHistory为7不会删除10 1的日志文件 MaxHistory指的是文件数量 xff0c 不包过当天日志
  • idea中.ignore插件使用

    1 安装 ignore xff0c 如下图 2 新建一个 ignore xff0c 如下图 xff1a 3 勾选模板 xff0c 生成文件 4 可根据自己需求添加过滤 xff0c 语法如下 xff1a 以斜杠 开头表示目录 xff1b 以星

随机推荐