Java URLEncoder er en verktøyklasse som brukes til å kode URL-ene (Uniform Resource Locator). Pålitelighet og sikkerhet sikres ved å bruke koding av URL. Når brukeren ber om et bestemt nettsted gjennom get-metoden, legges skjemaparametrene og deres verdier til etter '?' logge på URL-en. Problemet oppstår imidlertid når spesialtegn brukes i verdiene som ikke tolkes. Vanligvis håndterer HTML kodingsdelen automatisk ved å behandle spesialtegnene og konvertere dem til tegnene som er tillatt for jevn håndtering av alle operasjonene. Den bekrefter imidlertid ikke den nøyaktige kodingen, derfor kan vi ikke stole utelukkende på HTML-funksjoner, og for å kode nettadressene eksplisitt bruker vi URL Encoder-klassen til Java.
Det er viktig å følge de gitte reglene mens du koder en streng:
- De alfabetiske tegnene fra 'a' til 'z', eller fra 'A' til 'Z' og sifrene fra '0' til '9' forblir de samme.
- De alfanumeriske tegnene og noen spesialtegn som '*', '_', '-' og '.' ikke forandre.
- Alle mellomrommene konverteres til '+'-tegn.
- W3C anbefaler å bruke 'UTF-8' for kodingsformål. Alle de andre tegnene er kodet av én eller flere byte ved å bruke det angitte kodeskjemaet. De konverteres til en tre-tegns streng av formen %xy, der xy representerer den heksadesimale representasjonen av kodingstegnet.
Eksempel 1:
Hvis brukerforespørselen er slik at parameterverdien inneholder spesialtegn og mellomrom som
java dato til streng
u@Java T-punkt
Hvis kodingen som brukes er UTF-8 som er mest brukt, vil '@'-tegnet bli konvertert til '%40' og mellomrom vil bli konvertert til '+'-tegn. Den kodede strengen ser slik ut:
u%40Java+T+Point
Eksempel 2:
Hvis brukerforespørselen er slik at parameterverdien ikke inneholder spesialtegn og mellomrom som
u@JavaTpoint
kjøre script shell
Den kodede strengen ser slik ut:
u%40JavaTPoint
Koding URL
For å kode en URL gir Java URLEncoder-klassen encode()-metoden.
string.compare c#
URLEncoder.encode( )
Metoden oversetter en streng til application/x-www-form-url-kodet format ved å bruke et spesifikt kodingsskjema. Den henter byte for usikre tegn ved å bruke det medfølgende kodingsskjemaet.
Syntaks:
public static String encode(String s, String enc) throws UnsupportedEncodingException
Merk: World Wide Web Consortium anbefaler at UTF-8-kodingsskjemaet skal brukes. Ellers forårsaker det ulike inkompatibiliteter.
Parametere:
s: Strengen som skal oversettes.
enc: Navnet på den støttede tegnkodingen som 'UTF-8'.
urfi javed
Returnerer: Den returnerer den oversatte strengen.
Kaster: UnsupportedEncodingException blir kastet når det navngitte kodingsskjemaet ikke stø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 ) ; } }
Produksjon:
URL without any encoding: https://www.javatpoint.com/ u@ java T point URL after encoding: https://www.javatpoint.com/+u%40+java+T+point