zoukankan      html  css  js  c++  java
  • 下载Abook 高等教育出版社网站资料

    一、背景

    又快到了期末复习周,这个学期学了一门操作系统,老师没有给课本习题的答案,说是配套网站上有,我看了一下,确实有,是高等教育出版社的数字课程网站Abookl

    http://abook.hep.com.cn

    不过登录需要注册,再完成注册进入课程后,发现习题答案只能在线浏览,并没有给下载的接口。

    二、网页代码分析

    身为计算机专业的学生最受不了这种不开源的方式了,我发现答案是由播放器打开的,觉得应该能留下一些接触资源文件的途径,于是翻了翻网页源代码,发现了一些蛛丝马迹。

    在答案网页的源代码一百九十行到二百行左右,有这样一段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= "http://abook.hep.com.cn:80/downLoadResouce.action?resourceInfoId=" + resourceInfoId + "&resourceUrl=" + resFileUrl;
                       }else{
                           return false;
                       }
                        
                    }
                });
    }

    稍微分析一下这段代码,里面套了一个json,有一个success,对应的值是一个函数,如果bool为true,会得到一个location,根据这个location的URL结构来判断,这应该就是一个下载链接。

    "http://abook.hep.com.cn:80/downLoadResouce.action?resourceInfoId=" + resourceInfoId + "&resourceUrl=" + resFileUrl;

    不过我们发现想要拼凑出这个URL还需要两个参数,resourceInfoId和resFileUrl这两个参数也是最开始函数的参数,看变量命名的含义,大概猜出是资源的编号和文件URL。

    那我们就直接开启F12搜索一下吧(我这里使用的是火狐浏览器)。找不到按回车,直到找到了这样一段代码。

    看样子应该是得到了resourceInfoId=5000093767

    接着去找resourceUrl,但发现找不到,难道并不需要这个参数?

    于是先放弃对resourceUrl的研究,先试着拼凑URL

    http://abook.hep.com.cn:80/downLoadResouce.action?resourceInfoId=5000093767

     发现可以直接下载,也就印证了刚才的猜想,这样下载链接的格式已经能够确定

    http://abook.hep.com.cn:80/downLoadResouce.action?resourceInfoId=**********

    只需要向我之前那样登录进入课程获取对应资源的resourceInfoId,然后填到上面的URL上,就大功告成!

  • 相关阅读:
    toPrimitive方法使用
    使用js导入Excel数据,转化为json,导出指定json,合并单元格为excel
    vue-router基本使用
    json另类使用
    z-index无效情况
    构造函数另类使用。
    在worker中使用offscreenCanvas
    使用git提交代码一条龙
    IntelliJ IDEA使用技巧一览表
    Android studio 常用快捷键
  • 原文地址:https://www.cnblogs.com/wkfvawl/p/11933687.html
Copyright © 2011-2022 走看看