URI ichida ajratilgan cheklash vositalarini qanday ishlatish kerak

US_ASCII Belgilar uchun chiqarib tashlanadigan chegarani o'z ichiga olgan vakolatni taqdim qilish orqali java URL ob'ektini yaratish kerak. Speicifikatsiyani bu erda topishingiz mumkin 2.4.3. Excluded US-ASCII Belgilar .

Misol uchun,

http://localhost: 8182/a% image.tif

yoki

http://localhost: 8182/a # image.tif

Hech kim vaqtinchalik echimini biladimi?

0

2 javoblar

Umuman olganda, URI faqat yakuniy URIga joylashtirilgunga qadar individual komponentlarni kodlash yo'li bilan xavfsiz tarzda yaratilishi mumkin. Bunday holatda a% image.gif - bu yo'l komponenti va yo'lni ishlab chiqarish bo'yicha kodlash kerak (rfc 2369 da 3.3).

Huquqiy URI (va URL) yaratish uchun java.net.URI dan foydalaning:

    URI uri = URI.create("http://localhost:8182/a%25image.gif");
    System.out.println(uri.toASCIIString());
    System.out.println(uri.getPath());

Siz oxirgi deklaratsiyani chiqarib bo'lmaydigan tarzda ko'rishingiz kerak.

Texnik sifatida, ikkinchi URL noqonuniy emas, image.gif , bir qism sifatida ko'rib chiqiladi. Ammo, agar karnay-kofirlar yo'lning bir qismi bo'lsa, albatta, u ham kodlanishi kerak.

1
qo'shib qo'ydi

Can't you encode the character? So # => %23 and % => %25. See more information on W3Schools

1
qo'shib qo'ydi
Iltimos, W3Schools ga murojaat qilmang. Xatolar va chalg'ituvchi maslahatlar bilan to'la. w3fools.com ga qarang.
qo'shib qo'ydi muallif forty-two, manba
Menimcha, zararli sahifada "URL kodlash belgilarni Internet orqali uzatiladigan formatga o'zgartiradi" kabi nonsense so'zlar va dastur/x-www-form-urlencoded MIME turi bilan to'g'ri URL kodlashni konfiguratsiya qilish kabi xatolar bilan to'la deb qo'rqaman .
qo'shib qo'ydi muallif forty-two, manba
Yaxshiyamki, xayriyatki, bu maxsus sahifa xatolar ro'yxatida bo'lmagan ;-) Har holda, boshlar uchun tashakkur. Bu xatolarning ko'pchiligidan xabardor emas edim, lekin, ehtimol, bu sahifalarning ko'pchiligini hech qachon ko'rmaganim sababli.
qo'shib qo'ydi muallif Pieter, manba
Yaxshi ma'lumotnoma, ehtimol, vikipediya bo'lishi mumkin, lekin, ehtimol, W3Schools stolidagi ikkita kodlash to'g'ri :-) en.wikipedia.org/wiki/Percent-encoding
qo'shib qo'ydi muallif Pieter, manba