logo

Java URL kodavimo priemonė

„Java URLEncoder“ yra naudingumo klasė, naudojama URL koduoti (Uniform Resource Locator). Patikimumas ir saugumas užtikrinami naudojant URL kodavimą. Kai vartotojas pateikia užklausą dėl konkrečios svetainės naudodamas metodą gauti, formos parametrai ir jų reikšmės pridedami po „? prisijunkite prie URL. Tačiau problema kyla, kai vertėse, kurios nėra interpretuojamos, naudojami specialieji simboliai. Paprastai HTML tvarko kodavimo dalį automatiškai, apdorodamas specialiuosius simbolius ir konvertuodamas juos į simbolius, leidžiamus sklandžiai atlikti visas operacijas. Tačiau tai nepatvirtina tikslios kodavimo, todėl negalime pasikliauti vien HTML funkcijomis, todėl norėdami aiškiai užkoduoti URL, naudojame Java klasę URL Encoder.

Koduojant eilutę svarbu laikytis nurodytų taisyklių:

  1. Abėcėlės ženklai nuo „a“ iki „z“ arba nuo „A“ iki „Z“ ir skaitmenys nuo „0“ iki „9“ išlieka tokie patys.
  2. Raidiniai ir skaitmeniniai simboliai ir kai kurie specialieji simboliai, pvz., „*“, „_“, „-“ ir „. nekeisti.
  3. Visi tarpai paverčiami „+“ ženklais.
  4. W3C rekomenduoja naudoti „UTF-8“ kodavimo tikslais. Visi kiti simboliai yra užkoduoti vienu ar daugiau baitų, naudojant nurodytą kodavimo schemą. Jie konvertuojami į trijų simbolių eilutę, kurios forma yra %xy, kur xy reiškia šešioliktainį kodavimo simbolio atvaizdą.

1 pavyzdys:

Jei vartotojo užklausa yra tokia, kad parametro reikšmėje yra specialiųjų simbolių ir tarpų kaip

krūva ir krūva rūšiuoti

u@Java T taškas

Jei naudojama UTF-8 koduotė, kuri dažniausiai naudojama, „@“ ženklas bus konvertuojamas į „%40“, o tarpai – į „+“ ženklus. Užkoduota eilutė atrodo taip:

pilna forma ide

u%40Java+T+taškas

2 pavyzdys:

Jei vartotojo užklausa yra tokia, kad parametro reikšmėje nėra specialiųjų simbolių ir tarpų kaip

u@JavaTpoint

Užkoduota eilutė atrodo taip:

saulėtas deol amžius

u%40JavaTPaškas

Kodavimo URL

Norint užkoduoti URL, Java URLEncoder klasė pateikia kodavimo () metodą.

URLEncoder.encode( )

Metodas paverčia eilutę į Application/x-www-form-url koduotą formatą, naudojant konkrečią kodavimo schemą. Jis gauna nesaugių simbolių baitus naudodamas pateiktą kodavimo schemą.

Sintaksė:

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

Pastaba: World Wide Web Consortium rekomenduoja naudoti UTF-8 kodavimo schemą. Priešingu atveju tai sukelia įvairius nesuderinamumus.

Parametrai:

s: Eilutė, kurią reikia išversti.

enc: Palaikomos simbolių koduotės pavadinimas, pvz., „UTF-8“.

Grąžinimai: Jis grąžina išverstą eilutę.

įmesti į sql

Metimai: UnsupportedEncodingException išmetamas, kai pavadinta kodavimo schema nepalaikoma.

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 ) ; } } 

Išvestis:

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