Получаю java.net.URISyntaxException: недопустимый символ в запросе по индексу 220: при выполнении теста в Jmeter - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь пропустить следующую строку в моем URL

metadata={"occasion":[{"metavalue":"day-casual"}],"fit":[{"metavalue":"slim"}]}

Но когда я запускаю тест, я получаю сообщение об ошибке, как показано ниже

java.net.URISyntaxException: недопустимый символ в запросе с индексом 220: на java.net.URI $ Parser.fail (URI.java:2848) на java.net.URI $ Parser.checkChars (URI.java:3021) в java.net.URI $ Parser.parseHierarchical (URI.java:3111) на java.net.URI $ Parser.parse (URI.java:3053) на java.net.URI. (URI.java:588) на java.net.URL.toURI (URL.java:946)

Полагаю, проблема в том, что строка со специальными символами пытается передать URL.

Может кто-нибудь, пожалуйста, помогите мне кодировать и отправить.

1 Ответ

1 голос
/ 14 марта 2019

Согласно RFC 3986 URL-адрес может содержать только цифры, буквы и несколько графических символов, чтобы быть более точным:

ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~:/?#[]@!$&'()*+,;=

любые другие символы, например { и } должны быть URL-кодированными

Если вам нужно использовать структуру JSON как часть строки запроса URL, вам нужно обернуть ее в __ urlEncode () функцию like:

${__urlencode(metadata={"occasion":[{"metavalue":"day-casual"}]\,"fit":[{"metavalue":"slim"}]})}

Ознакомьтесь с Apache JMeter Functions - вступительная статья для ознакомления с концепцией функций JMeter.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...