logo

Java URL Kodlayıcı

Java URLEncoder, URL'leri kodlamak için kullanılan bir yardımcı sınıftır (Tekdüzen Kaynak Bulucu). URL Kodlama kullanılarak güvenilirlik ve güvenlik sağlanır. Kullanıcı get yöntemi aracılığıyla belirli bir siteyi talep ettiğinde form parametreleri ve değerleri '?' işaretinden sonra eklenir. URL'de oturum açın. Ancak yorumlanmayan değerlerde özel karakterler kullanıldığında sorun ortaya çıkıyor. Genel olarak HTML, özel karakterleri işleyerek kodlama kısmını otomatik olarak işler ve bunları tüm işlemlerin sorunsuz bir şekilde gerçekleştirilmesine izin verilen karakterlere dönüştürür. Ancak, doğru kodlamayı doğrulamaz, bu nedenle yalnızca HTML özelliklerine güvenemeyiz ve bu nedenle URL'leri açıkça kodlamak için Java'nın URL Encoder sınıfını kullanırız.

Bir dizeyi kodlarken verilen kurallara uymak önemlidir:

  1. 'a'dan 'z'ye veya 'A'dan 'Z'ye kadar olan alfabetik karakterler ve '0'dan '9'a kadar olan rakamlar aynı kalır.
  2. Alfasayısal karakterler ve '*', '_', '-' ve '.' gibi bazı özel karakterler. değiştirme.
  3. Tüm boşluklar '+' işaretlerine dönüştürülür.
  4. W3C, kodlama amacıyla 'UTF-8' kullanılmasını önerir. Diğer tüm karakterler, belirtilen kodlama şeması kullanılarak bir veya daha fazla bayt ile kodlanır. Bunlar %xy biçiminde üç karakterli bir dizeye dönüştürülür; burada xy, kodlama karakterinin onaltılık gösterimini temsil eder.

Örnek 1:

Kullanıcının isteği, parametre değerinin özel karakterler ve boşluklar içermesi şeklinde ise

gb nedir

u@Java T noktası

Kullanılan kodlama en sık kullanılan UTF-8 ise '@' işareti '%40'a, boşluklar ise '+' işaretine dönüştürülecektir. Kodlanmış dize aşağıdakine benzer:

u%40Java+T+Noktası

Örnek 2:

Kullanıcı isteği, parametre değerinin hiçbir özel karakter ve boşluk içermemesini sağlayacak şekilde ise

u@JavaTpoint

vlc youtube videolarını indir

Kodlanmış dize aşağıdakine benzer:

u%40JavaTPoint

Kodlama URL'si

Bir URL'yi kodlamak için Java URLEncoder sınıfı encode() yöntemini sağlar.

tasarım desenleri java

URLEncoder.encode( )

Yöntem, belirli bir kodlama şeması kullanarak bir dizeyi application/x-www-form-url kodlu formata dönüştürür. Sağlanan kodlama şemasını kullanarak güvenli olmayan karakterlere ilişkin baytları elde eder.

Sözdizimi:

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

Not: World Wide Web Konsorsiyumu, UTF-8 kodlama şemasının kullanılmasını önerir. Aksi takdirde çeşitli uyumsuzluklara neden olur.

Parametreler:

S: Çevrilecek dize.

enc: 'UTF-8' gibi desteklenen karakter kodlamasının adı.

Java'da liste düğümü

İadeler: Çevrilen String'i döndürür.

Atar: Adlandırılmış kodlama şeması desteklenmediğinde UnsupportedEncodingException oluşturulur.

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

Çıktı:

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