奥鹏作业自动答题

奥鹏作业自动答题脚本

  1. // ==UserScript==
  2. // @name 奥鹏作业自动答题
  3. // @namespace https://gf.qytechs.cn/zh-CN/users/707063-genexy
  4. // @version 202107042327
  5. // @description 奥鹏作业自动答题脚本
  6. // @author 流浪的蛊惑
  7. // @require https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.js
  8. // @match *://*.open.com.cn/*
  9. // @grant none
  10. // ==/UserScript==
  11. var answerinfo=null;//答案暂存
  12. var cls=new Array(0,0);//当前处理数,总处理数
  13. var token=null;//试卷密钥
  14. var workAnswerId=null;//试卷ID
  15. function addXMLRequestCallback(callback){//监听请求
  16. var oldSend, i;
  17. if( XMLHttpRequest.callbacks ) {
  18. XMLHttpRequest.callbacks.push( callback );
  19. } else {
  20. XMLHttpRequest.callbacks = [callback];
  21. oldSend = XMLHttpRequest.prototype.send;
  22. XMLHttpRequest.prototype.send = function(){//监听发送
  23. for( i = 0; i < XMLHttpRequest.callbacks.length; i++ ) {
  24. XMLHttpRequest.callbacks[i]( this );
  25. }
  26. oldSend.apply(this, arguments);
  27. }
  28. XMLHttpRequest.prototype.wrappedSetRequestHeader=XMLHttpRequest.prototype.setRequestHeader;
  29. XMLHttpRequest.prototype.setRequestHeader = function(header, value) {//监听自定义主机头
  30. this.wrappedSetRequestHeader(header, value);
  31. if(!this.headers) {
  32. this.headers = {};
  33. }
  34. if(!this.headers[header]) {
  35. this.headers[header] = [];
  36. }
  37. this.headers[header].push(value);
  38. }
  39. }
  40. }
  41. function geturlcs(para){//获取指定参数
  42. var reg = new RegExp("(^|&)"+para +"=([^&]*)(&|$)");
  43. var r = window.location.search.substr(1).match(reg);
  44. if(r!=null){
  45. return unescape(r[2]);
  46. }
  47. return null;
  48. }
  49. function getpaper(data){//获取试卷
  50. var paperinfo=data.data.paperInfo.Items;
  51. //console.log(paperinfo);
  52. var ajs="{\"Items\":[";
  53. for(let i=0;i<paperinfo.length;i++){//获取答案
  54. if(i==0){
  55. ajs+="{\"I1\":\""+paperinfo[i].I1+"\",\"I15\":[],\"Sub\":[]}";
  56. }else{
  57. ajs+=",{\"I1\":\""+paperinfo[i].I1+"\",\"I15\":[],\"Sub\":[]}";
  58. }
  59. getanswer(paperinfo[i].I4,paperinfo[i].I1,i);
  60. cls[1]=i;
  61. }
  62. ajs+="],\"isDecimal\":false,\"isHalf\":false}";
  63. answerinfo=JSON.parse(ajs);
  64. //console.log(answerinfo);
  65. }
  66. function getanswer(itemBankId,questionId,qid){//获取答案按题序号
  67. $.ajax({
  68. method:"GET",
  69. url:"/StudentCenter/OnlineJob/GetQuestionDetail?itemBankId="+itemBankId+"&questionId="+questionId,
  70. success:function(data){
  71. let info=document.getElementsByClassName("Test-Info-Right")[0].getElementsByTagName("H2")[0];
  72. if(info!=null){
  73. info.innerText="已处理:"+(++cls[0])+" 加载数:"+(cls[1]+1);
  74. }
  75. let answer=data.data.Choices;//获取选项
  76. for(let i=0;i<answer.length;i++){
  77. if(answer[i].IsCorrect){
  78. answerinfo.Items[qid].I15.push(i);
  79. }
  80. }
  81. if(answer.length==0){//主观题答题
  82. answerinfo.Items[qid].I15=data.data.I6;
  83. }
  84. if(cls[0]>cls[1]){
  85. sendpaper();
  86. }
  87. }
  88. });
  89. }
  90. function sendpaper(){//发送试卷
  91. $.ajax({
  92. method:"GET",
  93. url:"/StudentCenter/OnLineJob/GetHomeWorkValidCondition?studentHomeworkId="+geturlcs("studentHomeworkId"),
  94. success:function(data){
  95. var sdkx=JSON.parse(localStorage.getItem("homeworkSDKXapiData"));
  96. $.ajax({
  97. method:"POST",
  98. url:"https://homeworkapi.open.com.cn/getHomeworkAnswers?id="+workAnswerId,
  99. dataType:"json",
  100. data:answerinfo,
  101. headers:{
  102. "Authorization":localStorage.getItem("token"),
  103. "appType":localStorage.getItem("appType"),
  104. "schoolId":sdkx.organizationId,
  105. "token":token
  106. },
  107. success:function(data){
  108. console.log(data);
  109. tjpaper(data);
  110. }
  111. });
  112. }
  113. });
  114. }
  115. var jt=null,bid=null,sbid=null,lid=null,answt=null,exid=null,unid=null;
  116. function tjpaper(data){//提交试卷
  117. $.ajax({
  118. method:"GET",
  119. url:"/studentcenter/onlinejob/VerifyIsAnaLoginSubmitHomework?homeworkAnswerId="+workAnswerId,
  120. success:function(data){
  121. var sdkx=JSON.parse(localStorage.getItem("homeworkSDKXapiData"));
  122. var tjsj="{\"Items\":[],";
  123. tjsj+="\"JudgeType\":\""+jt+"\",\"isErrorAnswer\":true,\"isDecimal\":true,\"isHalf\":true,";
  124. tjsj+="\"ExamineeId\":\""+exid+"\",\"AnswerTime\":\""+answt+"\",";
  125. tjsj+="\"UniversityId\":\""+unid+"\",\"BatchId\":\""+bid+"\",\"LevelId\":\""+lid+"\",";
  126. tjsj+="\"SpecialtyId\":\""+sbid+"\"}";
  127. var tjjs=JSON.parse(tjsj);
  128. tjjs.Items=answerinfo.Items;
  129. $.ajax({
  130. method:"POST",
  131. url:"https://homeworkapi.open.com.cn/getSubmitHomework?homeworkAnswerId="+workAnswerId+"&isDecimal=true&isHalf=true",
  132. dataType:"json",
  133. data:tjjs,
  134. headers:{
  135. "Authorization":localStorage.getItem("token"),
  136. "appType":localStorage.getItem("appType"),
  137. "schoolId":sdkx.organizationId,
  138. "token":token
  139. },
  140. success:function(data){
  141. let info=document.getElementsByClassName("Test-Info-Right")[0].getElementsByTagName("H2")[0];
  142. if(info!=null){
  143. info.innerHTML="<button id=\"dwgb\" onclick=\"alert('答题已完成,请直接关闭!成绩:"+data.data.score+"分');\">答题已完成,请直接关闭!成绩:"+data.data.score+"分</button>";
  144. }
  145. document.getElementById("dwgb").click();
  146. //console.log(data);
  147. }
  148. });
  149. }
  150. });
  151. }
  152. function startpaper(){
  153. var sdkx=JSON.parse(localStorage.getItem("homeworkSDKXapiData"));
  154. $.ajax({
  155. method:"GET",
  156. url:"https://homeworkapi.open.com.cn/getHomework?studentHomeworkId="+geturlcs("studentHomeworkId"),
  157. headers:{
  158. "Authorization":localStorage.getItem("token"),
  159. "appType":localStorage.getItem("appType"),
  160. "schoolId":sdkx.organizationId,
  161. "token":token
  162. },
  163. success:function(data){
  164. getpaper(data);
  165. }
  166. });
  167. }
  168. (function() {
  169. 'use strict';
  170. var href=location.href;
  171. switch(window.location.pathname){
  172. case "/StudentCenter/OnLineJob/TestPaper"://学生作业
  173. addXMLRequestCallback( function( xhr ) {
  174. xhr.addEventListener("load", function(){
  175. if (xhr.readyState==4 && xhr.status==200) {
  176. if(token==null){
  177. if (xhr.responseURL.includes("homeworkapi.open.com.cn/getHomework")){
  178. token=xhr.headers.token;
  179. let dat=JSON.parse(xhr.responseText);
  180. workAnswerId=dat.data.workAnswerId;
  181. startpaper();
  182. }
  183. }
  184. if(jt==null){
  185. if (xhr.responseURL.includes("/StudentCenter/MyWork/GetUniversityCode")){
  186. let uinfo=JSON.parse(xhr.responseText);
  187. jt=uinfo.data.JudgeType;
  188. bid=uinfo.data.BatchId;
  189. sbid=uinfo.data.SpecialtyId;
  190. lid=uinfo.data.LevelId;
  191. answt=uinfo.data.AnswerTime;
  192. exid=uinfo.data.ExamineeId;
  193. unid=uinfo.data.UniversityId;
  194. }
  195. }
  196. }
  197. });
  198. });
  199. break;
  200. }
  201. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址