下载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上,就大功告成!
總結
以上是生活随笔為你收集整理的下载Abook 高等教育出版社网站资料的全部內容,希望文章能夠幫你解決所遇到的問題。