纯粹好奇,小小实践了一下fiddler,分享一下~
目的
html5 项目使用微信浏览器访问,出现bug,准备抓取请求分析一下
工具
Fiddler4
电脑设置
- 安装fiddler
- cmd 查看ip地址
- 启动fiddler,设置 Tool->Options->如下图:
手机设置
- 连接WIFI(保证与fiddler安装的电脑在同一WIFI下),点击链接的WIFI进行高级设置,注意需要再次输入密码,高级设置中选择代理,手动代理,代理设置中,host 为主机的ip地址,port 为fiddler里面默认的8888,如果被占用在启动fiddler时会提示你更改。
测试
这时从微信公众号进入要测试的界面,点击后,从fiddler右侧inspectors选项卡,可以看到request及response相关信息。
补充
- filters使用
使用过程中发现好多,不想查看的请求也被抓取了,那么我们就可以使用filters如下图:
- 自动保存responseBody为html文件
点击Rules->CustomizeRules 对文件内容进行修改
static function OnBeforeResponse(oSession: Session) {
if (m_Hide304s && oSession.responseCode == 304) {
oSession["ui-hide"] = "true";
}
if (oSession.oRequest["User-Agent"].indexOf("Android")> -1 && oSession.HTTPMethodIs("CONNECT")) {oSession.oResponse.headers["Connection"] = "Keep-Alive"; }
if (oSession.fullUrl.Contains("shengxuece.com"))
{
oSession.utilDecodeResponse();//消除保存的请求可能存在乱码的情况
//oSession.SaveResponse("D:\\Fiddler Sessions\\"+oSession.id+"_Request.htm",false);
oSession.SaveResponseBody("D:\\Fiddler Sessions\\"+oSession.id+"_Request.htm");
}
}
- https请求抓取
fiddler相关设置如下图:
使用手机访问电脑IP地址:8888(默认端口)会进入fiddler Echo Service 点击下面的 FiddlerRoot certificate 下载证书,并到系统设置中进行安装,然后就可以顺利抓取https 了。
个人微信公众号,追寻自由,分享生活!