职教云自动签到



  • 职教云自动签到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);
    }
    

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


  • 🍌🍌

    这个云做什么用的



  • 职教云不知道吗?



  • 干嘛用的呀


Log in to reply
 

Copyright © 2019 - 2020 JIKE社区 版权所有