Coauew 发表于 2022-3-17 17:44

职教云官方提取答案接口(实例)

cookie=get_cookie('教师账号','教师密码');//此为教师账号的cookie 可随意注册
$id = "m2nrafgtnyzftq0v3a5ong";//此为随机拿到的另外一个教师题库里题目的id
$res = getanswer($id,$cookie);
print_r($res);
//获取答案
function getanswer($id,$cookie) {
      $url="https://zjy2.icve.com.cn/api/report/homeworkAnalysis/wrongPreviewByHwExam";
      $header = array('Content-Type:'.'application/x-www-form-urlencoded');
      $data=array("courseOpenId"=>"课程id","openClassId"=>"班级id","homeworkId"=>"作业id","questionId"=>$id);
      $output=curl_post($url,$header,$data,$cookie);
      return $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, http_build_query($data));
      $output = curl_exec($curl);
      curl_close($curl);
      $output=json_decode($output,true);
      return $output;
      //print_r($output);
}
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);
}

//获取app版本号
function getver() {
      $url="https://zjy2.icve.com.cn/portal/AppVersion/getLatestVersionInfo";
      $headers = array('Content-Type:'.'application/x-www-form-urlencoded','Host:'.'zjy2.icve.com.cn','X-Requested-With:'.'XMLHttpRequest','User-Agent:'.'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36');
      $output = curl_get($url,$headers,$cookie);
      //print_r($output);
      $version = $output['appVersionInfo']['VersionCode'];
      //print_r($version);
      return $version;
}
function get_cookie($username,$userpwd) {
      $emit=time()."000";
      //echo date('Y-m-d H:i:s');
      $equipmentModel="Xiaomi Redmi K20 Pro";
      $equipmentApiVersion="10";
      $equipmentAppVersion='2.8.43';
      $device=getDevice($equipmentModel,$equipmentApiVersion,$equipmentAppVersion,$emit);
      //echo "<pre>";
      //header      
      $headers = array('Content-Type:'.'application/x-www-form-urlencoded','emit:'.$emit,'device:'.$device);
      //print_r($headers);
      //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);;
      // 解析HTTP数据流
      list($headers, $body) = explode("\r\n\r\n", $output);
      //print_r($headers);
      // 解析COOKIE
      preg_match_all("/set\-cookie:([^\r\n]*)/i", $headers, $matches);
      //请求的时候headers 带上cookie就可以了
      //print_r($matches);
      $cookies=explode(';', $matches);
      //print_r($cookies);
      $cookie = $cookies['0'];
      if(!empty($cookie)) {
                return $cookie;
      } else {
                return false;
      }
}
function httppost($url,$headers,$data) {
      $curl=curl_init();
      curl_setopt($curl, CURLOPT_URL, $url);
      curl_setopt($curl, CURLOPT_HEADER, 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_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);
}

2306131793 发表于 2022-3-17 17:44

多谢楼主分享

wost1289 发表于 2022-3-17 17:53

6666666666

calm13 发表于 2022-3-17 19:02

谢谢大佬分享

liuzhao 发表于 2022-3-17 19:12


支持楼主,谢谢分享。

qq475958317 发表于 2022-3-17 19:56


感谢楼主的分享

mlj2003318 发表于 2022-3-18 06:41

谢谢分享!

asdfgkl 发表于 2022-4-16 21:13

66666666

Deng. 发表于 2022-5-11 17:16

这个在那里写啊

mingzi 发表于 2022-6-21 08:33

66666666
页: [1] 2
查看完整版本: 职教云官方提取答案接口(实例)