一、背景
之前大家都是做pc上的業務,通過瀏覽器上的url地址及webx框架映射規則,很容易判斷當前的功能是訪問後臺的哪個類。
但現在轉到無線後,手機上看不到這個url地址,同時中間又夾了一層mtop,貌似手機上的功能和服務端的hsf接口直觀串聯起來更加困難。。。
有沒有什麼方法可以解決這個問題??答案是肯定的
二、解決方案
fiddle,這個工具相信大家不會陌生,它不但能截獲各種瀏覽器發出的HTTP請求, 也可以截獲各種智能手機發出的HTTP/HTTPS請求。
前提條件,需要保證安排fiddle的機器和手機在同一個網絡中。
步驟:
1)下載fiddle,地址 http://www.cr173.com/soft/42248.html
2)fiddle設置
打開 工具--fiddle選項,將“允許遠程計算機連接”勾選上
3)手機設置
以ios爲例:
打開設置----選取網絡,找到alibaba-inc,點擊進入,找到最下面的HTTP代理,服務器的ip爲你裝fiddle的電腦ip,端口爲8888
4)ok,接下來就是見證奇蹟的時刻了
三、演示
1. 比如你想知道,進入主客後,點擊下面的“微淘”,都發生了哪些請求
只有一個 mtop.sns.pubAccount.getTimeLine,然後在mtop平臺,就可以查到這個api對應的HSF接口,然後就可以根據入參、出參有針對的閱讀源碼。相信帶着業務去看碼會更容易些
通過這個你可以直觀瞭解微淘的所有手機業務功能分別調用了哪些mtop api接口, 這比悶着頭直接在mtop平臺看api看hsf接口更直觀
ps:這個對定位排查一些問題也很有幫助,比如通過查看api接口返回,定位是客戶端還是服務端的問題