使用Fiddler调试手机请求调用webapp
从事前端开发的同学一定对Fiddler不陌生,它是一个非常强大的http(s)协议分析工具,如果你不知道它是什么,可以自行google一下,本文不再作科普;前面文章已经讲了如何用Fiddle 代理本地的Js文件,也是fiddler一个非常强大的功能。
我们知道如何在电脑上调试页面请求,但在手机端你没有这么多强大好用的调试工具来调试你的webapp,如果你需要查看在手机上打开页面时,所产生的http请求却又不知道怎么做,那就继续往下看。(当然,大部分情况下,你可以直接在电脑上用Chrome或Firefox模拟手机浏览器来看)但这个方式无法准确的查看一些样式到底是否符合手机实际的展示或者其他要求;
Fiddler支持代理的功能,也就是说你所有的http请求都可以通过它来转发,Fiddler代理默认使用端口8888,不知道的同学有可能因此无法使用翻墙,因为端口冲突;我直接使用的是默认的:8888
利用这点,我们可以在手机端设置http代理为Fiddler的代理服务器,使得手机应用的请求都通过Fiddler来转发,从而实现查看手机端页面请求的功能。
首先我们打开Fiddler->Tools->Fiddler Options在Connection面板里将Allow remote computers to connect
勾选起来,确定后,关闭Fiddler并重新打开Fiddler。
此时,为了确保代理是正常工作的,我们可以在cmd里执行netstat -anop
tcp
查看Fiddler进程是否正常监听8888端口,如果服务没有正常开启,可以尝试使用其他端口,端口修改的位置
那么接下来我们要把手机端的代理设置为Fiddler的代理,代理设置需要一个ip和一个端口,ip就是Fiddler所运行的电脑的局域网ip地址,端口默认是Fiddler代理的端口8888,请确保手机所在的网段可以访问到电脑所在的网段,同一个局域网里一般没什么问题。
在手机端打开此链接,看下Fiddler监听到的请求:
效果OK 出来了!!!!