WebBrowser icon indicating copy to clipboard operation
WebBrowser copied to clipboard

如何监控http数据流量

Open Beyond-Chao opened this issue 6 years ago • 3 comments

类似Chrome 查看每次请求的size,或者像Charles抓取每个请求和响应的大小

Beyond-Chao avatar Jan 11 '18 02:01 Beyond-Chao

如果需要每一个请求响应的大小,可以使用NSURLProtocol来拦截进行处理即可,本项目暂时没有做这个。

zhongwuzw avatar Jan 11 '18 03:01 zhongwuzw

想请教一个问题,NSURLSession 获取到 response data 大小应该是解压(如何服务端开启了gzip)之后的数据,这样统计的流量是不是不准确了? 想知道这个解压缩操作发生在哪个层,CFNetwork 还是? 谢谢

Beyond-Chao avatar Jan 11 '18 04:01 Beyond-Chao

Gzip传输在URL Loading System会自动处理,Accept-Encoding: gzip头会自动被加上,如果服务器支持gzip传输,那么传输内容将使用gzip进行传输,NSURLResponse响应头中的Content-Lengthgzip压缩后的大小,但是当我们拿到Data时,已经是解压后的数据了,我认为是在CFNetwork层被解压了。

zhongwuzw avatar Jan 11 '18 14:01 zhongwuzw