# fiddler-request-collection **Repository Path**: limouhong_admin/fiddler-request-collection ## Basic Information - **Project Name**: fiddler-request-collection - **Description**: 将fiddler中指定域名请求,参数,记录到数据库,方便分析各个模块调用了哪些接口。 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2021-08-13 - **Last Updated**: 2021-08-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # fiddler-request-collection #### 介绍 将fiddler中指定域名请求,参数,记录到数据库,方便分析各个模块调用了哪些接口。 #### 软件架构 springboot + mybatis-plus #### 使用说明 0. 执行sql文件夹下的request_collection.sql,创建表 1. fiddler请求预处理修改 fiddler-js文件夹下 js修改.txt中 将那段js函数拷贝出来 ```javascript static function OnBeforeResponse(oSession: Session) { if (m_Hide304s && oSession.responseCode == 304) { oSession["ui-hide"] = "true"; } if(oSession.fullUrl.Contains("xxx.com") && oSession.RequestMethod.Equals("POST")) { var _xhr = new ActiveXObject('Microsoft.XMLHTTP'); var url = 'http://localhost:9800/request/collect'; //发送的数据参数 var param = { result: oSession.GetResponseBodyAsString(), url: oSession.url, headers: oSession.oRequest.headers, form: oSession.GetRequestBodyAsString() }; var par = ''; for (var i in param) { var _data = escape(param[i]); par += par ? ("&" + i + "=" + _data) : (i + "=" + _data); } //不需要返回值所以写啦个空回调 _xhr.onreadystatechange = function() {} _xhr.open('POST', url, true); _xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8"); _xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"); var response = oSession.GetResponseBodyAsString(); var url = oSession.url; var form = oSession.GetRequestBodyAsString(); var headers = oSession.oRequest.headers; var path = "&url="+url+"&form="+form+"&result="+response+"&headers="+headers; if(response.Contains("&")) { var re = /&/g; response = response.replace(re, "--$4*9$--") FiddlerObject.log(response); } var path = "&url="+url+"&form="+form+"&result="+response+"&headers="+headers; _xhr.send(path); } } ``` 打开fiddler ,rules->customize rules,替换 OnBeforeResponse函数里面的内容 xxx.com为你所需要监控的域名。 2. 运行程序 下载java源码,启动。 3. 打开接口,设置当前业务名称。 ![image-20210324174641524](.\images\image-20210324174641524.png) 4. 配置完成,采集的数据将会丢到数据库 ![image-20210324174857755](.\images\image-20210324174857755.png) #### 后续要增加功能 1. 增加每个接口的请求耗时 2. 增加所有接口直接转化为json, 在 PostMan中导入