【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

Charles的Map功能可以将某个请求进行重定向,用重定向的内容响应请求的内容,分为两种:Map Local和Map Remote。

Map Local:将某个网络请求重定向到本地某个文件

Map Remote:将某个网络请求重定向到另一个网络请求

两者都可以将js、css、html以及api接口进行重定向,此外也可以使用通配符来进行简单的批量匹配,达到批量重定向的目的。

1、 Map Local(重定向到本地某个文件)

使用情景:一个项目上线后,发现js、css或者返回参数 bug,怎样调试?线上项目的静态文件无法直接编辑,有何方法在不改变其他参数的情况下直接用本地的开发文件替换线上的文件从而方便调试?这里我们就可以使用Map Local功能,映射到线上环境。

对于有一些复杂的网络请求结果,我们可以先使用 Charles 提供的 “Save Response…” 功能,

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

将请求结果保存到本地(如下图所示),然后修改保存在本地的文件,该文件为我们的目标映射文件。

在 Charles 的菜单中,选择 “Tools”->”Local”

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

或者将一个指定的网络请求右键找到“Map Local映射到了本地的一个经过修改的文件中。

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

选择你保存在本地的文件

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

Map Local 在使用的时候,有一个潜在的问题,就是其返回的 Http Response Header 与正常的请求并不一样。这个时候如果客户端校验了 Http Response Header 中的部分内容,就会使得该功能失效。解决办法是同时使用 Map Local 以下面提到的 Rewrite 功能,将相关的 Http 头 Rewrite 成我们希望的内容。

注:在测试结果后需要“tool” ->“Map Local”里取消 “Enable Map Local”勾选,否则该请求会一直访问你配置的本地文件。

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

2、 Map Remote(重定向到另一个网络请求)

使用情景:进行一个需求开发,测试环境是:test.xxxx.com,测试完成,前端开发者上线了,现在测试人员需要跟踪线上情况,如何切到线上环境?这里我们就可以使用Map Remote功能,映射到线上环境。

在 Charles 的菜单中,选择 “Tools”->”Map Remote”

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

或者将一个指定的网络请求右键找到“Map Remote”

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

在下图界面中Map to填写你需要配置的线上环境,不需要配置的地方可以留空。

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

注:在测试结果后需要“tool” ->“Map Remote”里取消 “Enable Map Remote”勾选,否则该请求会一直访问你配置的远程环境。

【iTestCat】Charles的Map(重定向)功能(抓包工具Charles使用教程)

原创文章,作者:iTestCat,保留所有权利,禁止转载,如若转载,请联系作者!

(6)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
iTestCat的头像iTestCat
上一篇 2018年11月16日 下午9:15
下一篇 2018年11月19日 下午10:55

相关推荐

发表回复

登录后才能评论