使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

时间:2021-11-27 14:12:59

部分内容参考:http://ju.outofmemory.cn/entry/22854

我们在测试微信企业号的时候,由于微信的限制,不能把它拿到chrome浏览器中进行调试,所以就不能实时的看到页面变化情况,因而我们就需要一个能够随时查看我们页面变化的工具。虽然使用Fiddler也是存在一些问题,还是不能直接在我们的浏览器里面调试,但是相比较于将修改后的页面上传到服务器,然后在用手机进行请求,简单了很多。

1.首先我们需要安装一个fiddler,汉化不汉化的都可以,我给大家提供一个没有汉化的。链接:http://pan.baidu.com/s/1miuGbyS 密码:kjjg ,直接一溜确定,安装就行。安装完毕以后,我们进行以下设置。Fiddler代理默认使用端口8888,我们在手机端设置http代理为Fiddler的代理服务器(一会下面有具体的步骤),使得手机应用的请求都通过Fiddler来转发,从而实现查看手机端页面请求的功能。

1)设置Fiddler的options。

打开Fiddler->Tools->Fiddler Options在Connection面板里将Allow remote computers to connect勾选起来,确定后,关闭Fiddler并重新打开Fiddler。

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

2)此时,为了确保代理是正常工作的,我们可以在cmd里执行netstat -anop tcp查看Fiddler进程是否正常监听8888端口,如果服务没有正常开启,可以尝试使用其他端口,端口修改的位置(可以在上一步里面直接修改)。

我们先打开任务管理器查看以下我们Fiddler的PID代码是多少。打开任务管理器的快捷键是Ctrl+shift+ESC,正常状态下如图所示,我们的Fiddler.exe的PID是3156,如果你的这个界面里面没有PID这一项,接着往下看。

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

在任务管理页面,选择查看--选择列,把PID那一栏打上对号,如图所示,这样在任务管理界面就有PID了。

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

打开我们的cmd,执行netstat -anop tcp命令,如下图所示,我们可以看到,PID为3156,正在监听8888端口。那么接下来我们要把手机端的代理设置为Fiddler的代理,代理设置需要一个ip和一个端口,ip就是Fiddler所运行的电脑(安装Fiddler的电脑)的局域网ip地址,端口默认是Fiddler代理的端口8888,请确保手机所在的网段可以访问到电脑所在的网段,同一个局域网里一般没什么问题(电脑用宽带,手机用wifi,一个网就行)。

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

2.查看我们安装fiddler软件的电脑的ip,如图所示,我的电脑ip是192.168.1.12,因为我用的是公司的网络,ip是每天动态获取的,所以如果我们不把ip换成固定的,就得每次使用fiddler的时候自己在手动的修改一下。

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

3.给我们的手机设置代理,访问 192.168.1.12:8888,我用的是三星的s7,直接在链接的wifi上面长按就可以,代理主机名是我们的电脑网络的ip,代理服务器端口是我们fiddler监听的那个,如图所示

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)                           使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

4.最后,我们需要配置一下我们电脑的hosts文件,路径如下,

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

将我们的电脑ip写入,后面跟的是我们要调试的那个网页的网址。

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

这样我们就可以调试我们的手极端的页面了。

5.问题:我们设置好了fiddler以后,再访问https协议的网站的时候,可能会出现下面的问题,如图:

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)

这个问题造成我们不能正常访问一些网站内容,比如百度,阿里等等,这是因为我们的fiddler开启了监听https,在设置里面把对号去掉就行了。在fiddler页面,点击Tools--Telerik Fiddler Option--HTTPS,把监控https通道(decrypt HTTPS traffic)的那个对号去掉

使用Fiddler搭建手机调试环境(我做得项目是调试微信的公众号)