• @xinxi1990
    过滤规则文件可以这么写

    var fs = require("fs");
    var logFile = "/*/*/log.log";
    
    module.exports = {
    
      *beforeSendResponse(requestDetail, responseDetail){
        // 请求数据
        const urlRequest = requestDetail.requestData;
        // 返回内容
        const urlResponse = responseDetail.response.body;
        // 可以写入时间点信息
        // 写入文件 格式自己整理
        fs.appendFileSync(logFile, " \nurl: " + requestDetail.url + "\n" + "request:" + urlRequest +"\n"+ "response:"+urlResponse, 'utf-8', function (err) {
              if (err) throw err;
              console.log('data is saved!');
              });
        }
    }
    
  • @chunyong 你可以这样 过滤规则文件再丰富一下,记录请求的url 请求方式 请求数据 返回数据写到log文件中,这样你看看log内容记录的有没有问题。

  • @chunyong
    查了下我数据库的记录,是有三次请求每次的数据大小是不一致的,因为这是淘宝客户端的数据信息,我没有具体跟是什么情况,后续等我有时间我也再观察看看(如果是记录的数据本身有问题就尴尬了)。

  • @chunyong 同一张图片 连续请求三次大小不一致 没有遇到 你有链接可以直接下载一下对比数据对不对,还有一点就是请求的方式是不是不一样,get请求,option请求。

  • @chunyong 有几个zip的上传的打包数据,我猜可能是记录的埋点信息内容,这个肯定不是每次大小都一致的;png大小不一致,本身请求的资源也不一样;这边的app有个情况,用到react native,然后每个页面都是打包好的一个js而且名称都一样,js占用的流量占比最大,可能和rn的机制有关系,具体不是很了解。

  • @chunyong 文章代码里边有的 resource, type, requestData, responseData, total_flow, create_time, tag 大概就这些 自定义吧

  • @chunyong 是的 sql

  • @chunyong 过滤规则文件是自己写的,启动anyproxy的时候加--rule来使用过滤规则文件 anyproxy --intercept --rule ~/Documents/job/rule.js

  • @bob_jie 我这边的app内嵌的webview,对统计到的数据,分别统计js、图片、css、api等流量消耗占比,再具体看某一类中的重复请求次数、流量消耗排名,有一些js、图片占用流量一次测试中多达十几兆,很明显是不合理的,后边去定位这些较高消耗项的具体问题,为什么本身流量用的多,为什么重复获取资源次数多, 针对依据什么样的标准判断流量消耗多需要处理,这个我的想法是总流量占比排名前10,再删选重复请求资源次数排名前10的再去针对分析,可能这样的办法也不够成熟。

  • @JinZhu 谢谢 😍