logo

Java URL Encoder

Java URLEncoder — це службовий клас, який використовується для кодування URL-адрес (уніфікований покажчик ресурсів). Надійність і безпека забезпечується за допомогою кодування URL-адреси. Коли користувач запитує певний сайт за допомогою методу get, параметри форми та їхні значення додаються після «?» увійдіть в URL-адресу. Однак проблема виникає, коли в значеннях, які не інтерпретуються, використовуються спеціальні символи. Як правило, HTML обробляє частину кодування автоматично, обробляючи спеціальні символи та перетворюючи їх на символи, дозволені для плавної обробки всіх операцій. Однак це не підтверджує точне кодування, тому ми не можемо покладатися виключно на функції HTML, тому для явного кодування URL-адрес ми використовуємо клас URL-кодувальника Java.

Під час кодування рядка важливо дотримуватися наведених правил:

  1. Літери від «a» до «z» або від «A» до «Z» і цифри від «0» до «9» залишаються незмінними.
  2. Алфавітно-цифрові символи та деякі спеціальні символи, такі як «*», «_», «-» і «.» не змінювати.
  3. Усі пробіли перетворюються на знаки «+».
  4. W3C рекомендує використовувати «UTF-8» для цілей кодування. Усі інші символи кодуються одним або декількома байтами за допомогою вказаної схеми кодування. Вони перетворюються в трисимвольний рядок у формі %xy, де xy представляє шістнадцяткове представлення символу кодування.

приклад 1:

Якщо запит користувача такий, що значення параметра містить спеціальні символи та пробіли, як

купа і сортування купи

u@Java T точка

Якщо використовується кодування UTF-8, яке використовується найчастіше, знак «@» буде перетворено на «%40», а пробіли — на знаки «+». Закодований рядок виглядає так:

u%40Java+T+Point

приклад 2:

Якщо запит користувача такий, що значення параметра не містить спеціальних символів і пробілів, як

u@JavaTpoint

веб-сайти з фільмами, схожі на 123movies

Закодований рядок виглядає так:

u%40JavaTPoint

Кодування URL

Щоб закодувати URL-адресу, клас Java URLEncoder надає метод encode().

винятки java

URLEncoder.encode()

Метод переводить рядок у закодований формат application/x-www-form-url за допомогою спеціальної схеми кодування. Він отримує байти для небезпечних символів за допомогою наданої схеми кодування.

Синтаксис:

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

Примітка. Консорціум World Wide Web рекомендує використовувати схему кодування UTF-8. В іншому випадку це викликає різні несумісності.

Параметри:

s: Рядок для перекладу.

enc: Назва підтримуваного кодування символів, наприклад 'UTF-8'.

сортувати купу

Повернення: Він повертає перекладений рядок.

Кидки: 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