從頭學習爬蟲(四十七)進階篇----探索網易雲音樂私信功能

本文主要幫助解決探索一下網易雲私信功能

一 需求

測試一下私信功能接口

二 分析請求

參考之前的那篇網易雲音樂博客

1.找到加密前json

2.跳傳到控制檯打印i7b內容得到

3.代碼就按之前的改一下cookie寫死(時效性很強沒必要去掉登入接口)

4.參數寫死第一次發送沒問題,但是第二次發送可以得到,基本上是checkToken相關

{"code":250,"msg":"發送私信異常","data":{"dialog":{"title":"風險提示","subtitle":"請您嘗試切換網絡或設備再嘗試操作哦~","buttonMsg":"查看詳情","buttonUrl":"http://163.lu/EmUzy2"}}}

5.後續發現跟上面請求相關看js太耗時(目前還沒找到checkToken生成規律) 。

三 實戰分析

經過上面分析此方法目前還行不通。

參考NeteaseCloudMusicApi

回覆說可以發送私信但我看了源碼 找到加密前json與我的不一樣還能發送成功。

我就修改module/send_text.js 打印加密前json, util/request.js打開request debug,如下圖所示

仔細點的小夥伴應該發現了哪裏不同

UA用的是老的APP的user-agent(說明網易雲參數驗證方式根據不同UA是不同的)

還有個重點cookie 後面追加 os=pc;指明來源

四 代碼實戰

詳細代碼不寫了,補充重點代碼

String first_param = "{\"type\":\"text\",\"msg\":\"1\",\"userIds\":\"[\\\"xxxx\\\"]\"}";
httpPost.addHeader("User-Agent","Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Mobile Safari/537.36");
httpPost.addHeader("cookie",cookie+";os=pc");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章