У меня есть тег ввода внутри формы, значение которого задается одним из параметров запроса URL. Для защиты XSS я использую html-кодирование значения параметра запроса, прежде чем устанавливать его во входном теге.
Исходное значение отправлено в URL:
SomeValueWithSpeci@lCh@cters<""><''>
HTML-контент, сгенерированный кодом Java:
<form>
<input type='hidden' value="SomeValueWithSpeci@lCh@cters<""><''>" />
</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, закодированное значение декодируется
Есть ли способ получить закодированное значение как есть?
Новые вопросы
java
Java - это язык программирования высокого уровня. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег редко используется отдельно и чаще всего используется вместе с [spring], [spring-boot], [jakarta-ee], [android], [javafx], [hadoop], [gradle] и [maven].