logo

Java URL енкодер

Java URLEncoder е помощен клас, използван за кодиране на URL адреси (Uniform Resource Locator). Надеждността и сигурността се гарантират чрез кодиране на URL. Когато потребителят поиска определен сайт чрез метода get, параметрите на формата и техните стойности се добавят след '?' влезте в URL адреса. Проблемът обаче възниква, когато в стойностите, които не се интерпретират, се използват специални знаци. Като цяло HTML обработва частта за кодиране автоматично, като обработва специалните знаци и ги преобразува в знаците, които са разрешени за безпроблемна обработка на всички операции. Това обаче не потвърждава точното кодиране, поради което не можем да разчитаме единствено на функциите на HTML и по този начин, за да кодираме изрично URL адресите, използваме класа URL енкодер на Java.

Важно е да следвате дадените правила, докато кодирате низ:

  1. Буквите от 'a' до 'z' или от 'A' до 'Z' и цифрите от '0' до '9' остават същите.
  2. Буквено-цифровите знаци и някои специални знаци като '*', '_', '-' и '.' не се променят.
  3. Всички интервали се преобразуват в знаци '+'.
  4. W3C препоръчва използването на 'UTF-8' за целите на кодирането. Всички останали знаци са кодирани с един или повече байта, като се използва указаната схема за кодиране. Те се преобразуват в низ от три знака под формата %xy, където xy представлява шестнадесетичното представяне на кодиращия знак.

Пример 1:

Ако потребителската заявка е такава, че стойността на параметъра съдържа специални знаци и интервали като

if else в bash shell

u@Java T точка

Ако използваното кодиране е UTF-8, което се използва най-често, знакът „@“ ще бъде преобразуван в „%40“, а интервалите ще бъдат преобразувани в знаци „+“. Кодираният низ изглежда по следния начин:

u%40Java+T+Point

Пример 2:

Ако потребителската заявка е такава, че стойността на параметъра не съдържа специални знаци и интервали като

u@JavaTpoint

cpld срещу FPGA

Кодираният низ изглежда по следния начин:

u%40JavaTPoint

Кодиране на URL

За да кодирате URL адрес Java класът URLEncoder предоставя метода encode().

двоичен алгоритъм за търсене

URLEncoder.encode()

Методът преобразува низ в кодиран формат application/x-www-form-url, използвайки специфична схема за кодиране. Той получава байтовете за опасни знаци, като използва предоставената схема за кодиране.

Синтаксис:

 public static String encode(String s, String enc) throws UnsupportedEncodingException 

Забележка: World Wide Web Consortium препоръчва да се използва схемата за кодиране UTF-8. В противен случай това причинява различни несъвместимости.

Параметри:

с: Низът за превод.

enc: Името на поддържаното кодиране на знаци, като например „UTF-8“.

java чете csv файл

Се завръща: Връща преведения низ.

Хвърляния: UnsupportedEncodingException се хвърля, когато посочената схема за кодиране не се поддържа.

UrlEncoder.java

 import java.io.UnsupportedEncodingException; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; public class UrlEncoder { public static void main(String[] args) throws MalformedURLException, UnsupportedEncodingException { String baseUrl = 'https://www.javatpoint.com/'; // String to be encoded as requested by the user String query = ' u@ java T point'; System.out.println(' URL without any encoding : ') ; // creating an object of the URL class URL url = new URL(baseUrl + query) ; System.out.println( url ) ; // using the encode( ) method to encode the URL System.out.println( ' URL after encoding : ' ) ; url = new URL( baseUrl + URLEncoder.encode( query, 'UTF-8' ) ) ; System.out.println( url ) ; } } 

Изход:

 URL without any encoding: https://www.javatpoint.com/ u@ java T point URL after encoding: https://www.javatpoint.com/+u%40+java+T+point