Need Proxy?

BotProxy: Rotating Proxies Made for professionals. Really fast connection. Built-in IP rotation. Fresh IPs every day.

Find out more


How to modify HTTP response body with Charles Proxy rewrite tool and regex?

Question

I'm trying to change HTTP response body with Charles Proxy using rewrite tool / regex? The response is a JSON.

So part of the returned response JSON body is:

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

and what I want is:

"unavailablePosts": "XXX",

I try to set up Charles' rewrite like this:

enter image description here

So the regex is like:

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

But ... (as I'm asking this question) it does not work, i.e. nothing is changed in response body.

Answer

I believe there are some linebreaks in between the values, and to match them you need to add \s* (zero or more whitespaces) around : and use [\s\S]*? (any 0+ chars but as few as possible as *? is a lazy quantifier) to match the substring between [ and ],:

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

cc by-sa 3.0