介绍

这是给电脑上浏览器用的脚本,可以快速秒刷 重庆市专业技术人员继续教育 的课程。
该平台网址:https://rcpx.21tb.com/os/html/index.init.do

功能

秒刷课程

在国庆期间,官方已经修复了秒刷的bug。所以可以联系我qq2422270452或微信yizhituziang代看任意年度课程。

使用

强烈推荐下面这个版本的360安全浏览器,对油猴的兼容性最好,如果用其他版本,可能会出现问题。下载链接是官方提供的,保证安全无毒。

http://dl.360safe.com/netunion/20140425/360se+305869+n086544149f.exe

下载后进行安装。完成后打开刚才安装的360安全浏览器,进入下面网址安装油猴插件:

https://ext.chrome.360.cn/webstore/detail/dhdgffkkebhmkfjojejmpbldmpobfkfo

最后安装 重庆市专业技术人员继续教育 的刷课脚本.

重庆市专业技术人员继续教育网 刷课-快速秒刷

安装成功后,任意打开一门未看完的必修课程,3秒后回来刷新,可以看到已经学完。

脚本需要简单配置后才能生效,如果不会可以联系我qq2422270452或微信yizhituziang

选修课程里面会有目录 需要多放几秒。

重庆市专业技术人员继续教育网 刷课-快速秒刷

演示

演示视频如下:

分析

小白可以不看下面的了。

实话说,搞了这么多的网课平台,就这个课程选择界面最好看。

重庆市专业技术人员继续教育网 刷课-快速秒刷

在视频播放界面,也没有下一节的按钮,所以没法模拟点击进入下一节。

重庆市专业技术人员继续教育网 刷课-快速秒刷

又因为是flash,所以也没法使用html5的video元素的设置倍速功能。

在播放的时候,拖动进度条,又立刻会还原。其实,这样破解反而简单,像河北专技在线那样可以调倍速,但是系统不认可就很烦。

废话少说,直接上操作:

打开一个已学完的课程,f12打开开发者工具,切换到Network选项卡,按f5或ctrl+r刷新页面。

找到下面这样一个post请求:

Request URL: https://rcpx.21tb.com/els/html/courseStudyItem/courseStudyItem.selectResource.do?host=&vbox_server=http://21tb-video.21tb.com&fromNetWorkSetting=false&chooseHttp=https:&courseType=NEW_COURSE_CENTER&eln_session_id=elnSessionId.c1ab8f28c01a49ad9c7b279ce6fee916
Request Method: POST
Status Code: 200 

发送的数据是:

scoId: f66ad2d77de7435c94d45926c6962035
courseId: 8e2f9c9018974382b390c973c394e424
firstLoad: true
location: 0
elsSign: elnSessionId.c1ab8f28c01a49ad9c7b279ce6fee916
current_app_id: 

注意看,这个location就是秒刷的关键。

目标就是在视频播放页面,对request url发送ajax请求,并携带当前课程Id:courseid和scoId,以及一个最关键的location参数,就可以达到秒刷的目的。

不过一些平台在服务器上是有时间验证的,所以就算你骗它说你的location已经100%了,但是服务器那边只记录了你在11:01分看课,11:02分看课,只看了1分钟,认为location变成100%只是拖动了进度条,你总共看的时长还是那么一点。

将上面的整理成如下jQuery代码:

var sourceUrl = "html/courseStudyItem/courseStudyItem.selectResource.do";
        $.ajax({
            type: "POST",
            url: CONFIG.ctx + sourceUrl + "?host=" + CONFIG.hostDomain + "&vbox_server=" + "&fromNetWorkSetting=false" + "&chooseHttp=" + document.location.protocol + "&courseType=NEW_COURSE_CENTER",
            data: "scoId=" + info.scoId + "&courseId=" + info.courseId
                + "&firstLoad=false"
                + "&location=1",
            async: false,
            success: function (d) {
                var aLength = $("#courseItemId .cl-catalog-item .cl-catalog-item-sub a:visible").length;
                var aleadyPlay = $("#courseItemId .cl-catalog-item .cl-catalog-item-sub .cl-catalog-icon:visible").length;
                console.log("aLength:" + aLength);
                console.log("aleadyPlay:" + aleadyPlay);
                if (aLength != aleadyPlay) {
                    document.location.reload();
                }
            },
            error: function () {
            }
        });