logo

Java URL kodētājs

Java URLEncoder ir utilīta klase, ko izmanto URL kodēšanai (vienotais resursu vietrādis). Uzticamība un drošība tiek nodrošināta, izmantojot URL kodējumu. Kad lietotājs pieprasa noteiktu vietni, izmantojot iegūšanas metodi, veidlapas parametri un to vērtības tiek pievienotas aiz '?' pierakstieties URL. Tomēr problēma rodas, ja vērtībās, kas netiek interpretētas, tiek izmantotas speciālās rakstzīmes. Parasti HTML apstrādā kodēšanas daļu automātiski, apstrādājot īpašās rakstzīmes un pārvēršot tās par rakstzīmēm, kas ir atļautas visu darbību vienmērīgai apstrādei. Tomēr tas neapstiprina precīzu kodējumu, tāpēc mēs nevaram paļauties tikai uz HTML funkcijām, un tāpēc, lai skaidri kodētu URL, mēs izmantojam Java URL Encoder klasi.

Kodējot virkni, ir svarīgi ievērot norādītos noteikumus:

  1. Alfabētiskās rakstzīmes no “a” līdz “z” vai no “A” līdz “Z” un cipari no “0” līdz “9” paliek nemainīgi.
  2. Burtciparu rakstzīmes un dažas īpašās rakstzīmes, piemēram, '*', '_', '-' un '. nemaina.
  3. Visas atstarpes tiek pārveidotas par '+' zīmēm.
  4. W3C iesaka izmantot UTF-8 kodēšanas nolūkiem. Visas pārējās rakstzīmes tiek kodētas ar vienu vai vairākiem baitiem, izmantojot norādīto kodēšanas shēmu. Tie tiek pārveidoti trīs rakstzīmju virknē formā %xy, kur xy ir kodētās rakstzīmes heksadecimālais attēlojums.

1. piemērs:

Ja lietotāja pieprasījums ir tāds, ka parametra vērtībā ir speciālās rakstzīmes un atstarpes kā

python // operators

u@Java T punkts

Ja tiek izmantots visbiežāk izmantotais UTF-8 kodējums, zīme “@” tiks pārveidota par “%40” un atstarpes tiks pārveidotas par “+” zīmēm. Kodētā virkne izskatās šādi:

u%40Java+T+punkts

2. piemērs:

Ja lietotāja pieprasījums ir tāds, ka parametra vērtībā nav speciālo rakstzīmju un atstarpes kā

java xor

u@JavaTpoint

Kodētā virkne izskatās šādi:

u%40JavaTPunkts

čaumalu šķirošana

Kodēšanas URL

Lai kodētu URL, Java URLEncoder klase nodrošina encode() metodi.

URLEncoder.encode( )

Metode pārvērš virkni lietojumprogrammas/x-www-form-url kodētā formātā, izmantojot īpašu kodēšanas shēmu. Tas iegūst nedrošu rakstzīmju baitus, izmantojot komplektācijā iekļauto kodēšanas shēmu.

Sintakse:

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

Piezīme. World Wide Web Consortium iesaka izmantot UTF-8 kodēšanas shēmu. Pretējā gadījumā tas izraisa dažādas nesaderības.

Parametri:

s: Virkne, kas jātulko.

java apmācība iesācējiem

enc: Atbalstītā rakstzīmju kodējuma nosaukums, piemēram, 'UTF-8'.

Atgriež: Tas atgriež tulkoto virkni.

Metieni: UnsupportedEncodingException tiek izmests, ja nosauktā kodēšanas shēma netiek atbalstīta.

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

Izvade:

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