1、下载fiddler就不说了,最基本的抓包设置也略过
2、genymotion要想被fiddler抓包,首先打开模拟器的wlan设置,设置模拟器的代理服务器。代理服务器的ip为10.0.3.2,端口为fiddler中设置的监听端口,一般默认8888
3、查看本机(电脑)的ip地址,打开模拟器的浏览器,输入ip:8888(比如我的电脑ip是192.168.2.105,那么我就在浏览器中输入http://192.168.2.105:8888/)下载证书安装,名字的话随便写个
4、此时fiddler已经可以抓包genymotion了,但是碰到app使用https协议请求还是无法看到接口数据,在fiddler中请求中可以看到这样的提示:
After the client received notice of the established CONNECT, it failed to send any data.
5、这个时候需要我们是稍微改动下fiddler默认的脚本,打开http://www.telerik.com/download/fiddler/fiddlerscript-editor下载fiddler脚本编辑器,下载后直接安装
6、安装完成后重启fiddler,可以看到fiddler请求工具栏中增加了Fiddler Script一个选项卡,切换到它,点击下方的goto,快速定位到OnBeforeResponse,修改
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
}
为
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.HTTPMethodIs("CONNECT") && oSession.responseCode == 200)
{
if (oSession.oResponse.headers.ExistsAndEquals("Connection", "close"))
{
oSession.oResponse.headers.Remove("Connection");
}
}
}
即可。