欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

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

程序员文章站 2022-06-15 22:59:58
...
部分内容参考: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搭建手机调试环境(我做得项目是调试微信的公众号)