[Demo實踐]模擬登入豆瓣FM獲取個人收藏歌曲“紅心列表”
阿新 • • 發佈:2018-12-06
背景
我很喜歡豆瓣FM的風格,然而它無法滿足我日常的需求,手機上用網易雲音樂,家裡海信電視用QQ音樂、天貓放糖好像是蝦米。好累啊,捨不得豆瓣的歌,想把我收藏的“紅心歌曲”
清單都下載下來。
步驟一
模擬登陸豆瓣,使用Fiddler攔截http協議,檢視登入請求。
步驟二
分析http請求,想要獲取“紅心歌曲”需要三次http請求:
第一次:登入獲取使用者標識cookie
第二次:使用cookie獲取紅心歌單主鍵—sid
第三次:根據多個sid獲取歌曲的資訊(包括歌名、歌手、專輯圖片、甚至是播放地址[好驚喜Orz])
http請求分析的方法,簡單如下:
1、你得了解一下http協議,知道它的請求包括頭部headers、內容body
2、請求頭中比較重要的兩個是
- content-type,有時候你的body是需要urlencode的;
- referrer,有的網站伺服器是需要驗證這個的,不然不給過。
3、響應訊息,一般只關注body,需要先把位元組碼轉換成字串,一般都是json格式。
其他
java、maven、springBoot版本地址:
https://github.com/haerxiong/douban_fm (包涵了簡單的播放功能、下載歌單)
nodejs版本:
https://github.com/haerxiong/nodejs/tree/master/httpget/douban (僅下載歌單)
原文地址: https://blog.csdn.net/haerxiong/article/details/84833651