logo

Java URL koder

Java URLEncoder je uslužna klasa koja se koristi za kodiranje URL-ova (Uniform Resource Locator). Pouzdanost i sigurnost osigurani su kodiranjem URL-a. Kada korisnik zatraži određenu stranicu putem metode get, parametri obrasca i njihove vrijednosti dodaju se nakon '?' prijavite se na URL. Međutim, problem nastaje kada se u vrijednostima koje se ne interpretiraju koriste posebni znakovi. Općenito, HTML automatski obrađuje dio kodiranja obrađujući posebne znakove i pretvarajući ih u znakove koji su dopušteni za glatko rukovanje svim operacijama. Međutim, to ne potvrđuje točno kodiranje stoga se ne možemo osloniti samo na HTML značajke, pa stoga za eksplicitno kodiranje URL-ova koristimo klasu URL Encoder u Javi.

Prilikom kodiranja niza važno je slijediti navedena pravila:

  1. Abecedni znakovi od 'a' do 'z' ili od 'A' do 'Z' i znamenke od '0' do '9' ostaju iste.
  2. Alfanumerički znakovi i neki posebni znakovi kao što su '*', '_', '-' i '.' nemoj mijenjati.
  3. Svi razmaci se pretvaraju u znakove '+'.
  4. W3C preporučuje korištenje 'UTF-8' za potrebe kodiranja. Svi ostali znakovi kodirani su jednim ili više bajtova pomoću navedene sheme kodiranja. Pretvaraju se u niz od tri znaka u obliku %xy, gdje xy predstavlja heksadecimalni prikaz znaka za kodiranje.

Primjer 1:

Ako je korisnički zahtjev takav da vrijednost parametra sadrži posebne znakove i razmake kao

novi redak python

u@Java T točka

Ako je korišteno kodiranje UTF-8 koje se najčešće koristi, znak '@' pretvorit će se u '%40', a razmaci će se pretvoriti u znakove '+'. Kodirani niz izgleda ovako:

u%40Java+T+Point

Primjer 2:

Ako je korisnički zahtjev takav da vrijednost parametra ne sadrži posebne znakove i razmake kao

sortirana tuple python

u@JavaTpoint

Kodirani niz izgleda ovako:

u%40JavaTPoint

java do while petlja

Kodiranje URL-a

Za kodiranje URL-a Java klasa URLEncoder nudi metodu encode().

URLEncoder.encode()

Metoda prevodi niz u format kodiran application/x-www-form-url koristeći specifičnu shemu kodiranja. Dobiva bajtove za nesigurne znakove pomoću isporučene sheme kodiranja.

Sintaksa:

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

Napomena: World Wide Web Consortium preporučuje korištenje UTF-8 sheme kodiranja. Inače, uzrokuje razne nekompatibilnosti.

Parametri:

s: Niz koji treba prevesti.

imenik u linux naredbama

enc: Naziv podržanog kodiranja znakova kao što je 'UTF-8'.

Povratak: Vraća prevedeni niz.

Bacanja: UnsupportedEncodingException javlja se kada imenovana shema kodiranja nije podržana.

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

Izlaz:

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