【问题标题】:How to modify HTTP response body with Charles Proxy rewrite tool and regex?如何使用 Charles Proxy 重写工具和正则表达式修改 HTTP 响应正文?
【发布时间】:2017-03-18 03:15:03
【问题描述】:

我正在尝试使用重写工具/正则表达式更改带有 Charles Proxy 的 HTTP 响应正文?响应是 JSON。

所以返回的响应 JSON 正文的一部分是:

"unavailablePosts": ["AA", "BB"],

而我想要的是:

"unavailablePosts": "XXX",

我尝试像这样设置查尔斯的重写:

所以正则表达式是这样的:

"unavailablePosts": \[(.*)\],

但是......(正如我在问这个问题)它不起作用,即响应正文没有任何变化。

【问题讨论】:

  • “不起作用”是什么意思? (恕我直言,所以不应该让用这个短语发布问题。)你应该说它不匹配以及它应该匹配
  • 抱歉,已更新。
  • 也许中间有空格,但只有你可以检查。试试"unavailablePosts"\s*:\s*\[([\s\S]*?)\],
  • 使用你的正则表达式,它甚至不能在像regex101.com这样的“正则表达式沙箱”中工作

标签: json regex http charles-proxy


【解决方案1】:

我相信值之间有一些换行符,要匹配它们,您需要在 : 周围添加 \s*(零个或多个空格)并使用 [\s\S]*?(任何 0+ 字符,但尽可能少因为*? 是一个惰性量词)来匹配[], 之间的子字符串:

 "unavailablePosts"\s*:\s*\[([\s\S]*?)\],

【讨论】:

    【解决方案2】:

    我有类似的问题。在这种情况下,正则表达式是 ("unavailablePosts":)"[\s\S]*?" 替换值为$1"anything"

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 2020-10-29
      • 1970-01-01
      • 2014-11-09
      • 2014-04-14
      相关资源
      最近更新 更多