How to change response body with Charles?

时间:2015-07-28 15:59:02

标签: charles-proxy

I am using Charles (http://www.charlesproxy.com) to debug my HTTP requests and now I run into an issue where I am receiving json response which I need to edit to see how my app behaves.

I was looking at Rewrite option but can't really figure out how to change it. Ideal would be to load whole response from disk.

Any ideas how to accomplish this? Thank you.

4 个答案:

答案 0 :(得分:19)

Map Local工具可能正是您所需要的。通过菜单访问工具| Map Local ... 。请注意,您可能需要相应的重写规则(工具|重写... ),以确保从磁盘提供响应的mime类型以及应用程序所期望的类型。但最近版本的Charles可能会自动设置类型。

答案 1 :(得分:14)

启用断点,然后更改响应。您应该在调整响应之前按继续/发送请求发送它。

答案 2 :(得分:7)

分享如何启用断点,然后更改响应。

  1. 首先请求链接。然后启用断点>在http请求中右键单击>选择“断点”
    enter image description here
    2。菜单代理>断点设置>双击请求链接 enter image description here
    3。更改方案GET / POST>查询* enter image description here
    4。修改请求,更改选项卡Edit Request>您可以更改URL,标题,Cookie等,然后单击Execute。 enter image description here
    5。编辑响应:选择选项卡编辑响应>更改响应>单击执行 enter image description here
    享受吧。你做到了。

答案 3 :(得分:3)

如前所述,Charles Proxy(4.2.8版)允许您使用不同的方法来更改响应主体:

  1. Map Local Tool ⌘命令 + ⌥选项 + L -使用本地文件提供远程位置
  2. Map Remote Tool ⌘命令 + ⌥选项 + M -修改请求位置以将一个远程位置映射到另一个远程位置
  3. Rewrite Tool ⌘命令 + ⌥选项 + R -修改请求和响应,使其通过Charles
  4. Breakpoints Tool ⌘命令 + ⇧shift + K -在发送和接收请求和响应之前对其进行拦截和编辑< / li>

了解更多here