跳转至内容
0
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
  • 版块
  • 讨论
  • 最新
  • 标签
  • 热门
  • 顶端
  • 用户
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Zephyr)
  • 不使用皮肤
折叠
JIKE社区
  1. 首页
  2. 讨论区
  3. 水区乐园
  4. 职教云自动签到

职教云自动签到

已定时 已固定 已锁定 已移动 水区乐园
4 帖子 3 发布者 442 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 暖 离线
    暖 离线
    暖阳
    写于 最后由 编辑
    #1

    职教云自动签到PHP脚本
    如果有不会搞的,我可以帮忙签到
    账号+密码+要签到的时间
    senye666@foxmail.com

    <?php
    /*
    *------------------------------------------------------
    * Title : 职教云自动签到PHP版 V3.0
    *------------------------------------------------------
    * Author : 青山 (qingshan@88.com)
    *------------------------------------------------------ 
    * Time : 2020-08-23
    *------------------------------------------------------
    * Tips : 本源码不得贩卖
    *------------------------------------------------------
    */
    
    
    header('content-type:text/html;charset=UTF-8');
    date_default_timezone_set("PRC");
    
    
    /*
    **获取GET参数 让用户自定义签到频率 
    */
    $skey=$_GET['skey'];//qq推送
    $userName=$_GET['userName'];//账号
    $userPwd=$_GET['userPwd'];//密码
    
    
    
    /*
    **跟随更新协议头
    */
    $emit=time()."000";
    //echo date('Y-m-d H:i:s');
    $equipmentModel="Xiaomi Redmi K20 Pro";
    $equipmentApiVersion="10";
    $equipmentAppVersion="2.8.29";
    $device=getDevice($equipmentModel,$equipmentApiVersion,$equipmentAppVersion,$emit);
    //header        
    $headers = array('Content-Type:'.'application/x-www-form-urlencoded','emit:'.$emit,'device:'.$device);       
    //print_r($header);
    
    
    
    
    /*
    **自动签到部分
    */
    //login                
    $url="https://zjyapp.icve.com.cn/newMobileAPI/MobileLogin/newSignIn";
    $data=array("clientId"=>"d902c875d5f34c0f93362139f5af0c4c","sourceType"=>"2","userPwd"=>$userPwd,"userName"=>$userName,"appVersion"=>$equipmentAppVersion,"equipmentAppVersion"=>$equipmentAppVersion,"equipmentApiVersion"=>$equipmentApiVersion,"equipmentModel"=>$equipmentModel);
    //print_r($data);
    $output=httppost($url,$headers,$data);
    //print_r($output);;
    
    
    if($output['code'] == "1"){
        $stuId = $output["userId"];
        $newtoken=$output['newToken'];
            $faceDate = date("Y-m-d");
            //echo $stuId;
            
    //get jrkt        
    $url2="https://zjyapp.icve.com.cn/newmobileapi/faceteach/getStuFaceTeachList";
    //$data="stuId={$stuId}&faceDate={$faceDate}&newToken={$newtoken}";
    
    $data=array("stuId"=>$stuId,"faceDate"=>$faceDate,"newToken"=>$newtoken);
    $output=httppost($url2,$headers,$data);
    //print_r($output);
            $todayClassInfo=$output["dataList"];
            
    //        
    $url3="https://zjyapp.icve.com.cn/newmobileapi/faceteach/newGetStuFaceActivityList";
    if(!empty($todayClassInfo)){
                    foreach($todayClassInfo as $i){
                            $data=array("activityId"=>$i['Id'],"stuId"=>$stuId,"classState"=>$i['state'],"openClassId"=>$i['openClassId'],"newToken"=>$newtoken);
            
    $output=httppost($url3,$headers,$data);
    //print_r($output);                
    $inClassInfo=$output["dataList"];
    
    //
    $url4="https://zjyapp.icve.com.cn/newmobileapi/faceteach/isJoinActivities";
            if(count($inClassInfo) != "0"){
                            foreach($inClassInfo as $n){
                                     if ($n["DataType"] == "签到" and $n["State"] !== "3"){
                                     $attendData = array("activityId"=>$i['Id'],"openClassId"=>$i['openClassId'],"stuId"=>$stuId,"typeId"=>$n['Id'],"type"=>"1","newToken"=>$newtoken);
            $output=httppost($url4,$headers,$attendData);
        //print_r($output);
            $attendInfo=$output;
            
            
    $url5="https://zjyapp.icve.com.cn/newmobileapi/faceteach/saveStuSign";
                            if($attendInfo["isAttend"] != "1"){
                            $signInData = array("signId"=>$n['Id'],"stuId"=>$stuId,"openClassId"=>$i['openClassId'],"sourceType"=>"3","checkInCode"=>$n['Gesture'],"activityId"=>$i['Id'],"newToken"=>$newtoken);
                                            $output=httppost($url5,$headers,$signInData);
                                            $time=date("Y-m-d H:i:s");
                                            echo '账号:'.$userName.'的'.$i["courseName"]." ".$time." ".$output["msg"]."\r\n";
                                            $url6="https://push.xuthus.cc/send/{$skey}?c=账号:{$userName}的{$i['courseName']}签到成功\n\n";
                                $output=file_get_contents($url6);
                                            
                                                    }else{
                                                            echo"账号:".$userName."的".$n['DateCreated'].$i["courseName"]."的签到已经签到!"."<br>";
                                                            
                                                    };
                                            }else{
                                                    if($n["DataType"] == "签到"){
                                                    echo  "状态:".$output['code']."账号:".$userName."的".$n['DateCreated'].$i["courseName"]."的签到已经签到!"."<br>";
                                                        
                                                    };
                                            };
                                    };
                            };
                    };        
            }else{
                    echo "状态:".$output['code']."账号:".$userName."今日没有课唉 要好好休息哦"."<br>";
            };
            }else{
                echo $output['msg'];
                
            }
            
            
            
    /*
    **核心函数 请勿更改
    */
    function httppost($url,$headers,$data){
                    $curl=curl_str();
                    curl_setopt($curl, CURLOPT_URL, $url);
                    curl_setopt($curl, CURLOPT_HEADER, 0); 
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); 
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
                    
                    curl_setopt($curl, CURLOPT_POST, 1);
                            
            curl_setopt($curl, CURLOPT_POSTFIELDS,http_build_query($data));
                    
            $output = curl_exec($curl);
                    
            curl_close($curl);
                    $output=json_decode($output,true);
            return $output;
                    //print_r($output);
    } 
    
    function curl_get($url,$headers,$data,$cookie){
                    $curl=curl_init();
                    curl_setopt($curl, CURLOPT_URL, $url);
                    curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); 
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
                    curl_setopt($curl,CURLOPT_COOKIE,$cookie);
                    //curl_setopt($curl, CURLOPT_POST, 1);
                    
            //curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
                    
            $output = curl_exec($curl);
                    
            curl_close($curl);
                    $output=json_decode($output,true);
            return $output;
                    //print_r($output);
    }
    
    function curl_post($url,$headers,$data,$cookie){
                    $curl=curl_init();
                    curl_setopt($curl, CURLOPT_URL, $url);
            curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); 
            curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); 
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
            curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
                    curl_setopt($curl,CURLOPT_COOKIE,$cookie);
                    curl_setopt($curl, CURLOPT_POST, 1);
                    
            curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
                    
            $output = curl_exec($curl);
                    
            curl_close($curl);
                    $output=json_decode($output,true);
            return $output;
                    //print_r($output);
    }
    
    
    
    
    
    
    function post_curl($url, $params=[], $headers=[]){   
        $httpInfo = array();   
        $ch = curl_init();      
        curl_setopt($ch, CURLOPT_HEADER, 1);   
        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
        curl_setopt( $ch, CURLOPT_CONNECTTIMEOUT , 30 );   
        curl_setopt( $ch, CURLOPT_TIMEOUT , 30);   
        curl_setopt( $ch, CURLOPT_RETURNTRANSFER , true );      
        curl_setopt( $ch , CURLOPT_POST , true );   
        curl_setopt( $ch , CURLOPT_POSTFIELDS , http_build_query($params));   
        curl_setopt( $ch , CURLOPT_URL , $url );        
        $response = curl_exec( $ch );   
        if ($response === FALSE) {      
            return false;   
            
        }        
        curl_close( $ch );    
        return $response;
        
    }
    //
    function object_array($array) {  
        if(is_object($array)) {  
            $array = (array)$array;  
         } if(is_array($array)) {  
             foreach($array as $key=>$value) {  
                 $array[$key] = object_array($value);  
                 }  
         }  
         return $array;  
    }
    
    function getDevice($model,$vsersionAndroid,$versionName,$timeStamp){
        $tmp=md5($model);
        //echo $tmp."<br>";
        $tmp1=$tmp.$vsersionAndroid;
        //echo $tmp."<br>";
        $tmp=md5($tmp1);
        //echo $tmp."<br>";
        $tmp1=$tmp.$versionName;
        //echo $tmp."<br>";
        $tmp=md5($tmp1);
        //echo $tmp."<br>";
        $tmp1=$tmp.$timeStamp;
        //echo $tmp."<br>";
        return md5($tmp1);
    }
    

    脚本仅供学习参考,如有学习以外任何事情,本人概不负责。

    1 条回复 最后回复
    1
    • Y 离线
      Y 离线
      yyy
      🍌
      写于 最后由 编辑
      #2

      这个云做什么用的

      1 条回复 最后回复
      0
      • 暖 离线
        暖 离线
        暖阳
        写于 最后由 编辑
        #3

        职教云不知道吗?

        1 条回复 最后回复
        0
        • T 离线
          T 离线
          tammy
          写于 最后由 编辑
          #4

          干嘛用的呀

          1 条回复 最后回复
          0
          回复
          • 在新帖中回复
          登录后回复
          • 从旧到新
          • 从新到旧
          • 最多赞同


          Popular Topics - 热门主题
          • 2025年6月4日 Windows 10(11)专业版在线激活密钥
            undefined
            1
            1
            79

          • 农行1元微信立减金
            undefined
            1
            1
            89

          • 大厂不限格式不限大小
            undefined
            1
            1
            56

          • 学生会员购买京东plus会员买一年送一年,相当于49.5元每年
            山
            山外小楼夜听雨
            0
            4
            569

          • 低无门槛,利用PayPal 订阅1欧元 ChatGPT Team
            我是小马甲~M
            我是小马甲~
            0
            3
            261

          • Microsoft CID (confirmation ID) generation free
            D
            datascientist
            0
            3
            72

          • 登录

          • 没有帐号? 注册

          • 登录或注册以进行搜索。
          百度网盘
          1,299 个主题
          连续剧
          728 个主题
          国产剧
          580 个主题
          美剧
          351 个主题
          中国移动
          307 个主题
          动画片
          246 个主题
          中国电信
          222 个主题
          动作片
          211 个主题

          189

          在线

          40.4k

          用户

          40.1k

          主题

          110.5k

          帖子
          • 第一个帖子
            最后一个帖子