logo

Codificator de URL Java

Java URLEncoder este o clasă de utilitate folosită pentru a codifica adresele URL (Uniform Resource Locator). Fiabilitatea și securitatea sunt asigurate prin codificarea URL-ului. Atunci când utilizatorul solicită un anumit site prin metoda get, parametrii formularului și valorile acestora sunt adăugați după „?” conectați-vă la adresa URL. Cu toate acestea, problema apare atunci când sunt folosite caractere speciale în valorile care nu sunt interpretate. În general, HTML se ocupă de partea de codificare automat prin procesarea caracterelor speciale și convertirea acestora în caracterele care sunt permise pentru o gestionare ușoară a tuturor operațiunilor. Cu toate acestea, nu confirmă codificarea exactă, prin urmare nu ne putem baza doar pe caracteristicile HTML și, prin urmare, pentru a codifica adresele URL în mod explicit, folosim clasa URL Encoder din Java.

Este important să urmați regulile date în timp ce codificați un șir:

  1. Caracterele alfabetice de la „a” la „z” sau de la „A” la „Z” și cifrele de la „0” la „9” rămân aceleași.
  2. Caracterele alfanumerice și unele caractere speciale, cum ar fi „*”, „_”, „-” și „.” nu schimba.
  3. Toate spațiile sunt convertite în semne „+”.
  4. W3C recomandă utilizarea „UTF-8” în scopuri de codificare. Toate celelalte caractere sunt codificate de unul sau mai mulți octeți folosind schema de codificare specificată. Ele sunt convertite într-un șir de trei caractere de forma %xy, unde xy reprezintă reprezentarea hexazecimală a caracterului de codificare.

Exemplul 1:

Dacă solicitarea utilizatorului este de așa natură încât valoarea parametrului conține caractere speciale și spații ca

redenumirea directorului linux

u@Java T punct

Dacă codificarea folosită este UTF-8, care este cel mai frecvent utilizat, semnul „@” va fi convertit în „%40”, iar spațiile vor fi convertite în semne „+”. Șirul codificat arată astfel:

u%40Java+T+Point

metoda tostring

Exemplul 2:

Dacă solicitarea utilizatorului este de așa natură încât valoarea parametrului nu conține caractere speciale și spații ca

u@JavaTpoint

Șirul codificat arată astfel:

u%40JavaTPoint

Codificare URL

funcții șir de caractere java

Pentru a codifica o adresă URL, clasa Java URLEncoder oferă metoda encode().

URLEncoder.encode( )

Metoda traduce un șir în format codificat application/x-www-form-url folosind o schemă de codificare specifică. Obține octeții pentru caractere nesigure folosind schema de codificare furnizată.

Sintaxă:

fișier deschis java
 public static String encode(String s, String enc) throws UnsupportedEncodingException 

Notă: Consorțiul World Wide Web recomandă utilizarea schemei de codare UTF-8. În caz contrar, provoacă diverse incompatibilități.

Parametri:

s: Șirul de tradus.

enc: Numele codificării de caractere acceptate, cum ar fi „UTF-8”.

Se intoarce: Returnează șirul tradus.

Aruncări: UnsupportedEncodingException este lansată atunci când schema de codificare numită nu este acceptată.

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

Ieșire:

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