[英]how to replace brackets in url with bracket encoding?
我需要一個正則表達式模式,該模式可以在URL中找到並替換其URL編碼中的方括號。
例如,基本網址如下:
http://www.mysite.com/bla/blabla/abc[1].txt
將變成:
http://www.mysite.com/bla/blabla/abc%5B1%5D.txt
有人可以幫忙嗎?
編輯1:我本來使用commons-httpclient訪問這種URL。 當我使用第一個URL時,出現“轉義的絕對路徑無效”異常。
我不能使用URLENCODER,因為當我使用它時,會出現“主機參數為空”異常。
下面的代碼應該可以解決問題
String s = URLEncoder.encode("http://www.mysite.com/bla/blabla/abc[1].txt", "UTF-8");
您是否嘗試過URLEncoder.encode?
在java.net.URLEncoder包中。
編輯:
好的,我知道...您無法將整個URL傳遞給URLEncoder。 URLEncoder通常用於編碼查詢參數。
試試這個代替:
URI uri = new URI("http", "www.mysite.com", "/bla/blabla/abc[1].txt",null);
System.out.println(uri.toASCIIString());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.