logo

Java URL kodirnik

Java URLEncoder je pomožni razred, ki se uporablja za kodiranje URL-jev (Uniform Resource Locator). Zanesljivost in varnost sta zagotovljeni s kodiranjem URL-ja. Ko uporabnik zahteva določeno spletno mesto prek metode get, se parametri obrazca in njihove vrednosti dodajo za '?' prijavite se v URL. Težava pa nastane, ko so v vrednostih, ki niso interpretirane, uporabljeni posebni znaki. Na splošno HTML samodejno obravnava del kodiranja z obdelavo posebnih znakov in njihovo pretvorbo v znake, ki so dovoljeni za gladko upravljanje vseh operacij. Vendar pa ne potrjuje natančnega kodiranja, zato se ne moremo zanašati samo na funkcije HTML, zato za izrecno kodiranje URL-jev uporabljamo razred URL Encoder v Javi.

Pri kodiranju niza je pomembno upoštevati dana pravila:

  1. Abecedni znaki od 'a' do 'z' ali od 'A' do 'Z' in številke od '0' do '9' ostanejo enake.
  2. Alfanumerični znaki in nekateri posebni znaki, kot so '*', '_', '-' in '.' ne spremeniti.
  3. Vsi presledki so pretvorjeni v znake '+'.
  4. W3C priporoča uporabo 'UTF-8' za namene kodiranja. Vsi drugi znaki so kodirani z enim ali več bajti z uporabo navedene sheme kodiranja. Pretvorjeni so v trimestni niz v obliki %xy, kjer xy predstavlja šestnajstiško predstavitev kodirnega znaka.

Primer 1:

Če je zahteva uporabnika takšna, da vrednost parametra vsebuje posebne znake in presledke kot

java 8

u@Java T točka

Če je uporabljeno kodiranje UTF-8, ki se najpogosteje uporablja, bo znak '@' pretvorjen v '%40', presledki pa v znake '+'. Kodirani niz je videti takole:

u%40Java+T+Point

Primer 2:

Če je zahteva uporabnika takšna, da vrednost parametra ne vsebuje posebnih znakov in presledkov, npr

je enako metoda java

u@JavaTpoint

Kodirani niz je videti takole:

u%40JavaTPoint

abstraktni razred java

Kodiranje URL-ja

Za kodiranje URL-ja Java razred URLEncoder ponuja metodo encode().

URLEncoder.encode()

Metoda prevede niz v kodirano obliko application/x-www-form-url z uporabo posebne sheme kodiranja. Pridobi bajte za nevarne znake z uporabo priložene sheme kodiranja.

Sintaksa:

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

Opomba: World Wide Web Consortium priporoča uporabo sheme kodiranja UTF-8. V nasprotnem primeru povzroča različne nekompatibilnosti.

Parametri:

s: Niz, ki ga je treba prevesti.

program python za binarno iskanje

enc: Ime podprtega kodiranja znakov, kot je 'UTF-8'.

Vrne: Vrne prevedeni niz.

Meti: UnsupportedEncodingException se vrže, ko imenovana shema kodiranja ni podprta.

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

Izhod:

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