Попытка декодирования символа% в значении параметра завершается неудачно с помощью IllegalArgumentException: URLDecoder: недопустимые шестнадцатеричные символы в шаблоне escape(%)
Используя Apache JMeter 2.7, тело сообщения (JSON) для моего запроса POST содержит поле пароля в форме asdf%xy3dsfsfsf
, JMeter пытается интерпретировать %xy
в процентах кодируется символ и выбрасывается это исключение.
Uncaught Exception java.lang.IllegalArgumentException: URLDecoder: недопустимые шестнадцатеричные символы в шаблоне escape(%) - для входной строки: "xy". Смотрите файл журнала для деталей.
Я не могу избежать персонажа, используя обратную косую черту asdf\%xy3dsfsfsf
поскольку он попадет в веб-сервис как неверный пароль.
Пожалуйста, совет, как решить эту проблему.
ОБНОВЛЕНИЕ: проблема решена в сборке 2578. https://builds.apache.org/job/JMeter-trunk/2578/
1 ответ
Вы можете попробовать установить флажок кодирования в параметре на вкладке "Параметры", так как ваше значение содержит специальный символ %.
Из справки об отправке параметров с запросом:
Кроме того, вы можете указать, должен ли каждый параметр кодироваться в URL. Если вы не уверены, что это значит, лучше выбрать его. Если ваши значения содержат такие символы, как & или пробелы, или вопросительные знаки, то обычно требуется кодировка.
Смотрите также:
Наконец, можете ли вы подтвердить, что получили исключение при нажатии HTTP-запроса в дереве результатов просмотра, я поднял ошибку, чтобы исправить это поведение, которое было исправлено:
Возможно, вы могли бы попробовать ночную сборку, которая теперь доступна, и дать некоторую обратную связь, см. Инструкции по ее использованию здесь:
С уважением
Филипп М.