一、背景
之前大家都是做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接口返回,定位是客户端还是服务端的问题