logo

Java URL Encoder

Java URLEncoder on apuohjelmaluokka, jota käytetään URL-osoitteiden koodaamiseen (Uniform Resource Locator). Luotettavuus ja turvallisuus varmistetaan URL-koodauksella. Kun käyttäjä pyytää tiettyä sivustoa get-menetelmän kautta, lomakeparametrit ja niiden arvot lisätään '?' kirjaudu sisään URL-osoitteeseen. Ongelma syntyy kuitenkin, kun arvoissa käytetään erikoismerkkejä, joita ei tulkita. Yleensä HTML käsittelee koodausosan automaattisesti käsittelemällä erikoismerkit ja muuntamalla ne merkeiksi, jotka ovat sallittuja kaikkien toimintojen sujuvan käsittelyn varmistamiseksi. Se ei kuitenkaan vahvista tarkkaa koodausta, joten emme voi luottaa pelkästään HTML-ominaisuuksiin, joten käytämme URL-osoitteiden koodaamiseen eksplisiittisesti Java:n URL Encoder -luokkaa.

On tärkeää noudattaa annettuja sääntöjä merkkijonoa koodattaessa:

  1. Aakkosmerkit välillä 'a' - 'z' tai 'A' - 'Z' ja numerot '0' - '9' pysyvät samoina.
  2. Aakkosnumeeriset merkit ja jotkin erikoismerkit, kuten '*', '_', '-' ja '.' Älä vaihda.
  3. Kaikki välilyönnit muunnetaan '+'-merkeiksi.
  4. W3C suosittelee UTF-8:n käyttöä koodaustarkoituksiin. Kaikki muut merkit on koodattu yhdellä tai useammalla tavulla määritettyä koodausmenetelmää käyttäen. Ne muunnetaan kolmimerkkiseksi merkkijonoksi muotoa %xy, jossa xy edustaa koodausmerkin heksadesimaaliesitystä.

Esimerkki 1:

Jos käyttäjän pyyntö on sellainen, että parametrin arvo sisältää erikoismerkkejä ja välilyöntejä kuten

k klusterointialgoritmi

u@Java T-piste

Jos käytetty koodaus on UTF-8, joka on yleisimmin käytetty, '@'-merkki muunnetaan '%40':ksi ja välilyönnit muunnetaan '+'-merkeiksi. Koodattu merkkijono näyttää tältä:

u%40Java+T+piste

Esimerkki 2:

Jos käyttäjän pyyntö on sellainen, että parametrin arvo ei sisällä erikoismerkkejä ja välilyöntejä as

s pythonissa

u@JavaTpoint

Koodattu merkkijono näyttää tältä:

u%40JavaTP

mikä on monitori

Koodauksen URL-osoite

URL-osoitteen koodaamiseksi Java URLEncoder -luokka tarjoaa encode()-menetelmän.

URLEncoder.encode( )

Menetelmä kääntää merkkijonon sovellus/x-www-form-url-koodattuun muotoon käyttämällä tiettyä koodausmenetelmää. Se hakee tavut vaarallisille merkeille käyttämällä mukana toimitettua koodausjärjestelmää.

Syntaksi:

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

Huomautus: World Wide Web Consortium suosittelee UTF-8-koodausjärjestelmän käyttöä. Muuten se aiheuttaa erilaisia ​​yhteensopimattomuutta.

Parametrit:

s: Käännettävä merkkijono.

ehdollinen operaattori javassa

enc: Tuetun merkkikoodauksen nimi, kuten 'UTF-8'.

Palautukset: Se palauttaa käännetyn merkkijonon.

Heitot: UnsupportedEncodingException heitetään, kun nimettyä koodausmallia ei tueta.

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

Lähtö:

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