logo

Java URL Encoder

Java URLEncoder er en hjælpeklasse, der bruges til at kode URL'erne (Uniform Resource Locator). Pålidelighed og sikkerhed sikres ved hjælp af kodning af URL. Når brugeren anmoder om et bestemt websted via get-metoden, tilføjes formularparametrene og deres værdier efter '?' logge på URL'en. Men problemet opstår, når der bruges specialtegn i de værdier, der ikke fortolkes. Generelt håndterer HTML kodningsdelen automatisk ved at behandle specialtegnene og konvertere dem til de tegn, der er tilladt for problemfri håndtering af alle operationer. Det bekræfter dog ikke den nøjagtige kodning, derfor kan vi ikke udelukkende stole på HTML-funktioner, og for at indkode URL'erne eksplicit bruger vi URL Encoder-klassen i Java.

Det er vigtigt at følge de givne regler, mens du koder en streng:

  1. De alfabetiske tegn fra 'a' til 'z' eller fra 'A' til 'Z' og cifrene fra '0' til '9' forbliver de samme.
  2. De alfanumeriske tegn og nogle specialtegn såsom '*', '_', '-' og '.' ikke skift.
  3. Alle mellemrum konverteres til '+'-tegn.
  4. W3C anbefaler at bruge 'UTF-8' til kodningsformål. Alle de andre tegn er kodet af en eller flere bytes ved hjælp af det angivne kodningsskema. De konverteres til en tre-tegns streng af formen %xy, hvor xy repræsenterer den hexadecimale repræsentation af kodningstegnet.

Eksempel 1:

Hvis brugeranmodningen er sådan, at parameterværdien indeholder specialtegn og mellemrum som

medietransmission

u@Java T-punkt

Hvis den anvendte kodning er UTF-8, som er mest almindeligt anvendt, vil '@'-tegnet blive konverteret til '%40', og mellemrum vil blive konverteret til '+'-tegn. Den kodede streng ser sådan ud:

u%40Java+T+Point

Eksempel 2:

Hvis brugeranmodningen er sådan, at parameterværdien ikke indeholder specialtegn og mellemrum som

u@JavaTpoint

hvordan man åbner skjulte apps på Android

Den kodede streng ser sådan ud:

u%40JavaTPoint

Kodnings-URL

For at kode en URL giver Java URLEncoder-klassen encode()-metoden.

string.compare c#

URLEncoder.encode( )

Metoden oversætter en streng til application/x-www-form-url-kodet format ved hjælp af et specifikt kodningsskema. Den henter bytes for usikre tegn ved hjælp af det medfølgende kodningsskema.

Syntaks:

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

Bemærk: World Wide Web Consortium anbefaler, at UTF-8-kodningsskemaet skal bruges. Ellers forårsager det forskellige inkompatibiliteter.

Parametre:

s: Strengen, der skal oversættes.

enc: Navnet på den understøttede tegnkodning, såsom 'UTF-8'.

urfi javed

Vender tilbage: Det returnerer den oversatte streng.

Kaster: UnsupportedEncodingException udløses, når det navngivne kodningsskema ikke understøttes.

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

Produktion:

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