最近又想寫東西了沙兰,所以寫了這么一個系列北秽,不定期更新(雖然我知道沒人看的)
這幾天又開始對網(wǎng)易云音樂感興趣起來锄蹂,為了節(jié)省我rmbp13可憐的硬盤讀寫次數(shù),經(jīng)常是把歌曲下下來坦仍,在本地播放~~~所以打算寫個下載工具來下載音樂~~~為什么不用客戶端呢鳍烁?因為在公司就兩臺電腦,一臺自己的rmbp一臺ubuntu繁扎,最重要的是ubuntu沒有客戶端a;摹!梳玫!
前情略過爹梁,既然要做個下載工具,就要先找到如何下載~~~機智的我提澎,右鍵查看源碼(點到歌曲列表姚垃,查看框架源碼)了一個歌單,發(fā)現(xiàn)了如此神奇的東西
(數(shù)據(jù)太多虱朵,只截了部分)這些不就是json數(shù)據(jù)嗎莉炉,從開始的[能看出還是個json數(shù)組钓账,那么提取出一個來解析下看看
折疊了很多數(shù)據(jù)還有這么多碴犬,說明給出是數(shù)據(jù)真的很全面,也不一條條分析了梆暮,挑關鍵詞說一些需要的數(shù)據(jù)
mp3Url這個不出意外就是下載地址了
name歌名
lMusic mMusic hMusic這幾個數(shù)據(jù)如下截圖
這三個數(shù)據(jù)結(jié)構(gòu)一致服协,從數(shù)據(jù)中分析應該是低中高三種不同音質(zhì)的信息,再對比mp3Url啦粹,這個地址給出的應該是低品質(zhì)的歌偿荷,我要下載自然是品質(zhì)越高越好了~~那么把鏈接里的id換成hMusic里的id
新的地址http://m2.music.126.net/R-VtozWVaOzIYVEyiTsYpA==/5851600883114606.mp3
往瀏覽器里一輸,一敲回車
那么憑借直覺唠椭,中間那串東西應該是校驗用的~~~而計算出這個校驗碼的應該是id跳纳。
圍觀這個校驗碼,發(fā)現(xiàn)是一個特征 ==結(jié)尾贪嫂,憑借經(jīng)驗告訴我寺庄,這個是base64編碼
那么簡單,把低品質(zhì)的id給base64下
和正確的不一樣誒力崇,老師~~~有仔細觀察了下正確的校驗碼R-VtozWVaOzIYVEyiTsYpA==中有一個-號斗塘,這個在base64中應該是沒有的~~~所以應該是一個類似base64的編碼方法吧~~~可是完全黑盒猜編碼方式,做不到啊老師~~~
本打算放棄了亮靴,就下下低品質(zhì)的歌吧馍盟,這不還節(jié)約空間,況且自己的木耳又聽不出好壞來茧吊,我是這么安慰我自己的~~~
這個故事我們不會這樣就結(jié)束贞岭,但是~~~欲知后事如何請聽下回分解~~~