如何使用Charles Proxy重写工具和正则表达式修改HTTP响应正文?

时间:2016-11-04 10:15:18

标签: json regex http charles-proxy

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

因此,返回的响应JSON正文的一部分是:

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

我想要的是:

"unavailablePosts": "XXX",

我试着像这样设置Charles'重写:

enter image description here

所以正则表达式就像:

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

但......(因为我问的是这个问题)它不起作用,即没有任何内容在响应体中发生变化。

2 个答案:

答案 0 :(得分:4)

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

rmv_zeros("288230376151711744000000", '0', '-');

答案 1 :(得分:1)

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