一、原因
最近武sir帶着我們,解析了一下微信的網頁版,這里做一個小總結,只是給大家一個思路,附上部分代碼,僅供大家參考
二、二維碼的解析:
1、訪問首頁,我們肯定會拿到一個二維碼照片
2、查看html,我們發現其src為動態的,那么src后面的那部分哪來的?
3、仔細查看,我們發現訪問的時候,發送了這樣一次請求,response帶着二維碼的后面需要的部分,嘿嘿嘿嘿~~~,你懂的
4、繼續查看network部分,我們發現不斷在請求,最近的處於pending狀態,大概25s會結束,估計是一次長輪詢,時間大概是25s
5、當我們掃描的時候,竟然出現了我們頭像,趕緊分析一下
6、趕緊查看一下network,發現長輪詢,竟然收到響應了,code代碼為201,后面的avatar就是頭像啦!直接訪問就可以拿到自己的頭像數據啦!Soga!,繼續發長輪詢,收到的code碼為408
7、當我們在手機上點擊登錄時,頁面唰唰就出現了自己的各種信息,什么情況,趕緊查看發現我們的長輪詢,code變為200,后面還有一個uri
8、繼續看一下一個請求:我艹~~~~,這是個什么鬼,看起來像xml文件,仔細查看,我暈,skey,wxsid,wxuin,pass_ticket啥的,這都是很重要的東西,后面的提交,還有session都是寫的是這些東西,建議微信為了安全期間直接寫到session里。
9、繼續查看,接下來會有一個新的請求,獲取了最近的聯系人,公眾號推送,個人信息,嘿嘿~~~(還有SyncKey)
10、又發了一個新的請求,獲取了所有聯系人的信息
11、接下來,開始測試收發消息:來個發消息,只要攜帶相應的數據就可以發了,注意149打頭的是時間戳數據的處理
12、收個消息,發現后台一直在發送長查詢准備收消息,沒有消息則返回如右圖的響應
13、收到帶消息的回應,則為:
14、立馬又發了一個新的請求去獲取數據(除了帶收到的消息,還帶了SyncKey,你懂的~~~)
三、總結:
大致弄明白了微信網頁版的基本流程