Java URLEncoder är en verktygsklass som används för att koda URL:erna (Uniform Resource Locator). Tillförlitlighet och säkerhet säkerställs med hjälp av kodning av URL. När användaren begär en viss webbplats via get-metoden läggs formulärparametrarna och deras värden till efter '?' logga in URL:en. Men problemet uppstår när specialtecken används i värden som inte tolkas. I allmänhet hanterar HTML kodningsdelen automatiskt genom att bearbeta specialtecknen och konvertera dem till de tecken som är tillåtna för smidig hantering av alla operationer. Det bekräftar dock inte den korrekta kodningen, därför kan vi inte förlita oss enbart på HTML-funktioner, och därför använder vi URL Encoder-klassen i Java för att uttryckligen koda webbadresserna.
Det är viktigt att följa de givna reglerna när du kodar en sträng:
- De alfabetiska tecknen från 'a' till 'z' eller från 'A' till 'Z' och siffrorna från '0' till '9' förblir desamma.
- De alfanumeriska tecknen och vissa specialtecken som '*', '_', '-' och '.' ändra inte.
- Alla mellanslag omvandlas till '+'-tecken.
- W3C rekommenderar att du använder 'UTF-8' för kodningsändamål. Alla andra tecken kodas av en eller flera byte med det angivna kodningsschemat. De konverteras till en sträng med tre tecken av formen %xy, där xy representerar den hexadecimala representationen av kodningstecknet.
Exempel 1:
Om användarförfrågan är sådan att parametervärdet innehåller specialtecken och mellanslag som
instansierar java
u@Java T-punkt
Om kodningen som används är UTF-8 som är vanligast, kommer tecknet '@' att konverteras till '%40' och mellanslag konverteras till '+'-tecken. Den kodade strängen ser ut så här:
multiplexering
u%40Java+T+Point
Exempel 2:
Om användarbegäran är sådan att parametervärdet inte innehåller några specialtecken och mellanslag som
u@JavaTpoint
Den kodade strängen ser ut så här:
bash elif
u%40JavaTPoint
Kodningsadress
För att koda en URL tillhandahåller Java URLEncoder-klassen encode()-metoden.
URLEncoder.encode( )
Metoden översätter en sträng till application/x-www-form-url-kodat format med hjälp av ett specifikt kodningsschema. Den hämtar byte för osäkra tecken med hjälp av det medföljande kodningsschemat.
Syntax:
public static String encode(String s, String enc) throws UnsupportedEncodingException
Obs: World Wide Web Consortium rekommenderar att UTF-8-kodningsschemat används. Annars orsakar det olika inkompatibiliteter.
Parametrar:
s: Strängen som ska översättas.
enc: Namnet på den teckenkodning som stöds, till exempel 'UTF-8'.
Returnerar: Den returnerar den översatta strängen.
middag vs middagstid
Kastar: UnsupportedEncodingException kastas när det namngivna kodningsschemat inte stöds.
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