下载Abook⾼等教育出版社⽹站资料
⼜快到了期末复习周,这个学期学了⼀门操作系统,⽼师没有给课本习题的答案,说是配套⽹站上有,我看了⼀下,确实有,是⾼等教育出版社的数字课程⽹站Abookl
不过登录需要注册,再完成注册进⼊课程后,发现习题答案只能在线浏览,并没有给下载的接⼝。
⼆、⽹页代码分析
网页html下载⾝为计算机专业的学⽣最受不了这种不开源的⽅式了,我发现答案是由播放器打开的,觉得应该能留下⼀些接触资源⽂件的途径,于是翻了翻⽹页源代码,发现了⼀些蛛丝马迹。
在答案⽹页的源代码⼀百九⼗⾏到⼆百⾏左右,有这样⼀段JS代码,上⾯的注释直接告诉了我们这个函数的作⽤,就是⽤来下载资源的!//下载资源增加下载次数
function downloadNumber(resourceInfoId,ip,resFileUrl,ticket){
jQuery.ajax( {
type : "get",
url : "downLoadNumber.action",
data : "resourceInfoId=" + resourceInfoId
+ "&resourceUrl=" + resFileUrl,
dataType : "text",
success : function(bool) {
if(bool == "true"){
location= "abook.hep:80/downLoadResouce.action?resourceInfoId=" + resourceInfoId + "&resourceUrl=" + resFileUrl;
}else{
return false;
}
}
});
}
稍微分析⼀下这段代码,⾥⾯套了⼀个json,有⼀个success,对应的值是⼀个函数,如果bool为true,会得到⼀个location,根据这个location的URL结构来判断,这应该就是⼀个下载链接。
"abook.hep:80/downLoadResouce.action?resourceInfoId=" + resourceInfoId + "&resourceUrl=" + resFileUrl;
不过我们发现想要拼凑出这个URL还需要两个参数,resourceInfoId和resFileUrl这两个参数也是最开始函数的参数,看变量命名的含义,⼤概猜出是资源的编号和⽂件URL。
那我们就直接开启F12搜索⼀下吧(我这⾥使⽤的是⽕狐浏览器)。不到按回车,直到到了这样⼀段代码。
看样⼦应该是得到了resourceInfoId=5000093767
接着去resourceUrl,但发现不到,难道并不需要这个参数?
于是先放弃对resourceUrl的研究,先试着拼凑URL
abook.hep:80/downLoadResouce.action?resourceInfoId=5000093767
发现可以直接下载,也就印证了刚才的猜想,这样下载链接的格式已经能够确定
abook.hep:80/downLoadResouce.action?resourceInfoId=**********
只需要向我之前那样登录进⼊课程获取对应资源的resourceInfoId,然后填到上⾯的URL上,就⼤功告成!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。