Как установить правило перезаписи в Charles Proxy, когда есть «?»включено? - PullRequest
3 голосов
/ 20 февраля 2012

Я использую Chales Proxy, и это мне очень помогло.Для тестирования я использую правило перезаписи для изменения параметров Path.Это работает очень хорошо, пока я не пытаюсь установить правило перезаписи на пути, которое включает вопросительный знак:

Тип: Путь

Пример URL: / get / article / 123456 / n / 20121208 /?

Правило перезаписи: /?-> / showAdmin = true /?

Я предполагаю, что вопросительный знак является заполнителем, который я не могу использовать в качестве значения соответствия.Я пытался избежать этого, но он тоже не работал.

Кто-нибудь понял, как я могу обойти это?Также поможет подсказка, как работать с regEx в Charles.Путь всегда один и тот же.

Бест, Клаас

Ответы [ 2 ]

1 голос
/ 28 августа 2013

Просто поставил это как ответ, потому что это сводило меня с ума.Чтобы использовать группы, вы в основном заключаете в регулярные выражения в скобки группу, например, так:

whatever/(.*)/(.*)\.html

И затем в поле замены вы помещаете ссылку на эту группу скобок как$ 1, $ 2 и т. Д. Я считаю, что слева направо.

/whatever/$1/$2.json

Я считаю, что стема, опубликованная ниже, должна работать, но если вы пытались использовать группы, это то, как высделает это.

0 голосов
/ 20 февраля 2012

Знак вопроса не является заполнителем, это квантификатор. Итак, /? означает совпадение с нулем или одной косой чертой.

Быстрый поиск документации говорит

Может быть включена поддержка регулярных выражений, предоставляя регулярные выражения в стиле Perl для вашего соответствия.

Тогда это должно работать

/\?$

$ будет соответствовать концу строки, если ? должен совпадать и до конца строки, просто удалите его.

...