Кодирование и декодирование строки URL в Java

Кодирование URL-адресов очень важно в веб-версии Java, поскольку оно защищает пользователя и позволяет избежать уязвимых атак, таких как SQL-инъекции. Как можно безопасно закодировать URL-адрес или форму, пропущенную через сервлет или программу, работающую на веб-сервере.

Java предоставляет класс URLEncoder который имеет метод encode(). Этот метод  кодирует String.

Вам также понадобятся средства декодирования. Класс URLDecoder имеет decode() для декодирования строки, закодированной с помощью URLEncoder.

Example:

import java.io.UnsupportedEncodingException; 

public class Encode_Decode {

public static void main(String[] args) {
String url = "Это test_[]< > ()!#^$@%~&*";
try {
String urlencode = java.net.URLEncoder.encode(url, "UTF-8");
System.out.println("Кодировка: "+urlencode);
String urldecode = java.net.URLDecoder.decode(urlencode, "UTF-8");
System.out.println("Декодирование: "+urldecode);
} catch (UnsupportedEncodingException e) {
// TODO Автоматически сгенерированный catch block
e.printStackTrace();
}
}
}
Output

Кодирование: This+is+a+test_%5B%5D%3C%3E%28%29%21%23%5E%24%40%25%7E%26*
Декодировать: Это test_[]< > ()!#^$@%~&*
В этой программе переменная String urlencode передается в качестве аргумента в методе URLEncoder.encoder.encoder и затем выводится результат. Затем он декодирует переменную, закодированную с помощью URLDecoder.decode и отображает декодированный url.

Для получения дополнительной информации рекомендую прочитать документацию Java для URLEncoder and URLDecoder.
Advertisement

AdBlock Detected

Please disable your ad blocker and refresh the window to use this website.