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:
- 'a'dan 'z'ye veya 'A'dan 'Z'ye kadar olan alfabetik karakterler ve '0'dan '9'a kadar olan rakamlar aynı kalır.
- Alfasayısal karakterler ve '*', '_', '-' ve '.' gibi bazı özel karakterler. değiştirme.
- Tüm boşluklar '+' işaretlerine dönüştürülür.
- 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