Charles模拟弱网环境 修改请求返回值 一分钟搞定网络抓包

之前写过一篇文章介绍过利用Charles进行网络抓包以及抓取手机App网络请求,此处不再阐述,贴上传送门

一分钟搞定Charles手机APP抓包

今天重点介绍如何利用Charles进行模拟弱网环境以及修改请求返回值。

模拟弱网环境

模拟弱网环境简单粗暴,只需两步即可,直接上图。
选择 ProxyThrottle Setting→勾选上 Enable Throttling→ 选择Throttle Preset 类型即可

弱网1.png

弱网2.png

如果只想模拟指定网站的慢速网络,再勾选图中的Only for selected hosts项,然后在对话框的下半部分设置中add指定的 hosts 项。

修改请求返回值

在App开发过程中,到了和后台联调过程阶段,经常会遇到后台数据返回不全、请求参数需要修改等情况。如果每次都在app端修改,或者反复依靠后台人员处理数据,只会增加工作量,而且每次都要重新运行app,浪费时间。

所以我们就可以使用Charles,对app进行抓包,请求断点,修改请求与返回的数据,重新发送请求,以满足我们的需求。

1、打断点

找到要修改返回值的接口打断点:右击接口→选择Breakpoints

修改1.png

设置断点完成后,再次请求时会自动进入到调试模式。进入断点后点击Edit Request,然后点击右下角Execute

修改2.png

此时再次点击Edit Request,然后点击底部JSON Text,即可看到返回的报文,针对自己想要的字段进行修改

修改3.png

修改4.png

需要注意的是,通过断点的方式修改返回值会存在一定的问题:数据被拦截后,客户端的请求超时时长是不会停止计算的,如果没在设置的超时时间内返回数据本次请求也就按失败处理了。

2、映射

Charles 的 Map 功能分 Map RemoteMap Local 两种,顾名思义,Map Remote 是将指定的网络请求重定向到另一个网址请求地址,Map Local 是将指定的网络请求重定向到本地文件。

Map Local 本地映射

首先找到接口,右击→选择Save Response,将网络请求返回的报文保存在本地,切记一定要记住保存的目录,后面还要用到。

修改5.png

保存完后本地可以进行修改,设置自己想要的返回值。

然后再次右击接口,选择Map Local,通过Choose导入本地文件。

修改6.png

修改7.png

Map Remote 远程映射
同样找到接口,右击→Map Remote

远程映射.png

填入具体的参数即可

3、Rewrite

Rewrite 功能功能适合对某一类网络请求进行一些正则替换,以达到修改结果的目的。选择ToolsRewrite

重写.png

至此介绍了通过Charles提供的Map、 Rewrite 以及Breakpoints来修改服务器返回内容。这三者在功能上的差异是:

  • Breakpoints 功能适合做一些临时性的修改。
  • Map 功能适合长期地将某一些请求重定向到另一个网络地址或本地文件。
  • Rewrite 功能适合对网络请求进行一些正则替换。

Charles模拟弱网环境和修改网络请求返回报文今天就介绍的这里。关于Charles其他功能后续会陆续推出,敬请关注。

更多技术知识请关注公众号
iOS进阶


我的二维码.jpg
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在空间里看到一个男同学割双眼皮,而且我知道他学的是空乘。so,今天做了一件很傻的事,问我朋友,空姐有男的吗?,然后...
    阿囡03阅读 170评论 0 0
  • 很多道理,我们已经知道,但是未必能做到。 所以需要一种途径和方式,让我们能架起理论和实践的桥梁。 5月23日,【1...
    肖丽丽_Smile阅读 398评论 0 0
  • 5月26日星期六 阴 这是孙儿今天画的画巜稻草人》。我问孙儿你的稻草人为什么一个眼睛大,一个眼睛小呢?孙儿...
    蓝天白云215阅读 145评论 0 0
  • 假期反馈 今天一天都在写数学作业把所有的写完了,英语配了五六个伴鱼绘本看了30---34回但是把...
    李李白_6c54阅读 542评论 0 0