下載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上,就大功告成!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM