Wie ändern Sie die HTTP-response-body mit Charles Proxy rewrite tool und regex?
Ich versuche zu ändern HTTP-response-body mit Charles Proxy mithilfe von rewrite-tool /regex? Die Antwort ist ein JSON.
So ein Teil der Antwort zurückgegeben JSON-Körper:
"unavailablePosts": ["AA", "BB"],
und was ich will, ist:
"unavailablePosts": "XXX",
Ich versuche zum einrichten Charles' umschreiben wie dieses:
Also die regex ist wie:
"unavailablePosts": \[(.*)\],
Aber ... (wie ich es bin, die diese Frage stellen) funktioniert es nicht, d.h. nichts ist verändert im response-body.
- Was meinst du mit "funktioniert nicht"? (IMHO, ALSO sollten nicht zulassen, Fragen stellen, mit diesem Satz.) Sie sollten sagen, was Sie nicht überein, und was es entsprechen sollte.
- sorry, aktualisiert.
- Vielleicht gibt es Leerzeichen dazwischen, aber nur Sie können überprüfen, dass. Versuchen
"unavailablePosts"\s*:\s*\[([\s\S]*?)\],
- mit deiner regex gibt es nicht, auch die Arbeit in "regex" - sandbox", wie regex101.com
- Sind Sie sicher?
- Yep, du hast Recht - es funktioniert.
- Soll ich die Lösung posten? Es funktioniert die Weise, die Sie erwarten auf Ihrer Seite?
- gehen Sie vor es funktioniert, werde ich übernehmen 🙂
- Lassen Sie uns weiterhin diese Diskussion im chat.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich glaube es gibt einige Zeilenumbrüche zwischen den Werte, und die zu Ihnen passen, die Sie hinzufügen möchten
\s*
(null oder mehr Leerzeichen) um:
und verwenden[\s\S]*?
(jede 0+ chars aber so wenig wie möglich als*?
ist eine faule Quantifizierer) passend zu den substring zwischen[
und],
:Hatte ich ähnliches Problem. In diesem Fall Regex ist
("unavailablePosts":)"[\s\S]*?"
Wert für replace ist
$1"anything"