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

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

作者: 劳模007_Mars | 来源:发表于2018-12-04 14:33 被阅读0次

    之前写过一篇文章介绍过利用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

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/ofimcqtx.html