У меня есть тег ввода внутри формы, значение которого задается одним из параметров запроса URL. Для защиты XSS я использую html-кодирование значения параметра запроса, прежде чем устанавливать его во входном теге.

Исходное значение отправлено в URL:

SomeValueWithSpeci@lCh@cters<""><''>

HTML-контент, сгенерированный кодом Java:

<form>
    <input type='hidden' value="SomeValueWithSpeci@lCh@cters&lt;&quot;&quot;&gt;&lt;''&gt;" />
</form>

Java-код для разбора вышеуказанного HTML-контента.

Document doc = Jsoup.parse(htmlResponse);
Elements formElements = doc.getElementsByTag("form");
Elements inputTag = null;
for(Element form : formElements){
     inputTags = form.geElementsByTag("input");
}

for(Element input : inputTags){
     System.out.println(input.val());
}

Выход:

SomeValueWithSpeci@lCh@cters<""><''>

При отправке формы браузер декодирует HTML-контент и отправляет фактическое значение получателю. Я пишу тест для проверки кодировки. Он отправляет запрос в конечную точку и получает этот ответ HTML. Я полагаю, что когда я анализирую его с помощью библиотеки Jsoup, закодированное значение декодируется

Есть ли способ получить закодированное значение как есть?

0
Shreyas