使用Fiddler调试手机页面请求
2015-07-22 10:38
381 查看
从事前端开发的同学一定对Fiddler不陌生,它是一个非常强大的http(s)协议分析工具,如果你不知道它是什么,可以自行google一下,本文不再作科普,简单的说它可以代替Chrome开发人员工具中Network面板或Firefox的HttpWatch插件的功能。
我们知道如何在电脑上调试页面请求,但在手机端你没有这么多强大好用的调试工具来调试你的webapp,如果你需要查看在手机上打开页面时,所产生的http请求却又不知道怎么做,那就继续往下看。(当然,大部分情况下,你可以直接在电脑上用Chrome或Firefox模拟手机浏览器来看)
Fiddler支持代理的功能,也就是说你所有的http请求都可以通过它来转发,Fiddler代理默认使用端口8888,不知道的同学有可能因此无法使用翻墙,因为端口冲突。
利用这点,我们可以在手机端设置http代理为Fiddler的代理服务器,使得手机应用的请求都通过Fiddler来转发,从而实现查看手机端页面请求的功能。
首先我们打开Fiddler->Tools->Fiddler Options在Connection面板里将Allow remote computers to connect勾选起来,确定后,关闭Fiddler并重新打开Fiddler。
![](http://i.wanz.im/wp-content/uploads/2013/04/fiddler_options.png)
fiddler options
此时,为了确保代理是正常工作的,我们可以在cmd里执行
![](http://i.wanz.im/wp-content/uploads/2013/04/fiddler_proxy.png)
fiddler proxy
从上图我们看到,进程ID为8392的Fiddler正在监听8888端口,说明代理已经在工作了。那么接下来我们要把手机端的代理设置为Fiddler的代理,代理设置需要一个ip和一个端口,ip就是Fiddler所运行的电脑的局域网ip地址,端口默认是Fiddler代理的端口8888,请确保手机所在的网段可以访问到电脑所在的网段,同一个局域网里一般没什么问题。
![](http://i.wanz.im/wp-content/uploads/2013/04/wifi-setting.png)
wifi setting
我的手机刷的是MIUI,设置代理比较简单,直接在对应的WIFI中设置一下就可以了。手机代理设置不懂的也可以留言或自行查找相关资料。接下来让我们来测试一下效果。
在手机端打开豆瓣,看下Fiddler监听到的请求:
![](http://i.wanz.im/wp-content/uploads/2013/04/webtesting.png)
web testing
正如我们所期望的,你可以开始调试你的手机端webapp请求了。
![](http://i.wanz.im/wp-content/uploads/2013/04/fiddler_request.png)
fiddler request
FAQ:
1.为什么我访问页面提示代理服务器连接失败?
在确认所有设置都没有错的情况下,可以尝试关闭防火墙或带防火墙功能的杀毒软件,如果关闭后可以访问,可以在防火墙设置里为Fiddler放行。
我们知道如何在电脑上调试页面请求,但在手机端你没有这么多强大好用的调试工具来调试你的webapp,如果你需要查看在手机上打开页面时,所产生的http请求却又不知道怎么做,那就继续往下看。(当然,大部分情况下,你可以直接在电脑上用Chrome或Firefox模拟手机浏览器来看)
Fiddler支持代理的功能,也就是说你所有的http请求都可以通过它来转发,Fiddler代理默认使用端口8888,不知道的同学有可能因此无法使用翻墙,因为端口冲突。
利用这点,我们可以在手机端设置http代理为Fiddler的代理服务器,使得手机应用的请求都通过Fiddler来转发,从而实现查看手机端页面请求的功能。
首先我们打开Fiddler->Tools->Fiddler Options在Connection面板里将Allow remote computers to connect勾选起来,确定后,关闭Fiddler并重新打开Fiddler。
![](http://i.wanz.im/wp-content/uploads/2013/04/fiddler_options.png)
fiddler options
此时,为了确保代理是正常工作的,我们可以在cmd里执行
netstat -anop tcp查看Fiddler进程是否正常监听8888端口,如果服务没有正常开启,可以尝试使用其他端口,端口修改的位置,如上图位置。
![](http://i.wanz.im/wp-content/uploads/2013/04/fiddler_proxy.png)
fiddler proxy
从上图我们看到,进程ID为8392的Fiddler正在监听8888端口,说明代理已经在工作了。那么接下来我们要把手机端的代理设置为Fiddler的代理,代理设置需要一个ip和一个端口,ip就是Fiddler所运行的电脑的局域网ip地址,端口默认是Fiddler代理的端口8888,请确保手机所在的网段可以访问到电脑所在的网段,同一个局域网里一般没什么问题。
![](http://i.wanz.im/wp-content/uploads/2013/04/wifi-setting.png)
wifi setting
我的手机刷的是MIUI,设置代理比较简单,直接在对应的WIFI中设置一下就可以了。手机代理设置不懂的也可以留言或自行查找相关资料。接下来让我们来测试一下效果。
在手机端打开豆瓣,看下Fiddler监听到的请求:
![](http://i.wanz.im/wp-content/uploads/2013/04/webtesting.png)
web testing
正如我们所期望的,你可以开始调试你的手机端webapp请求了。
![](http://i.wanz.im/wp-content/uploads/2013/04/fiddler_request.png)
fiddler request
FAQ:
1.为什么我访问页面提示代理服务器连接失败?
在确认所有设置都没有错的情况下,可以尝试关闭防火墙或带防火墙功能的杀毒软件,如果关闭后可以访问,可以在防火墙设置里为Fiddler放行。
相关文章推荐
- [Windows驱动开发](二)基础知识——数据结构
- 排序算法
- hdu5293 Tree chain problem 树形dp+线段树
- 知道你们不想撸代码写PPT之可视化页面做一款炫酷的WEB PPT
- C#实现汉字转拼音或转拼音首字母的方法
- [LeetCode]Balanced Binary Tree
- PAT (Advanced Level) 1020. Tree Traversals (25) 给定后序中序,递归建树
- jsp版本端口转发
- Search for a Range
- Hduoj2830 【矩阵数学】
- hdoj 3367 Pseudoforest 【伪森林】 【并查集判断环 + 最大生成树】
- Spring笔记
- Linux 命令——tee 重定向到文件并打印到屏幕
- PeopleCode 代码收集
- oracle索引方式详解
- 【Java】两个排序后的数组A和B,其中A的末端有足够的缓冲容纳B。编写一个方法,将B合并入A并排序。
- Java4Android-继承初步
- Android APK签名对比及说明
- mongodb 3.0 创建用户 开启认证
- 数组与指针