簡體   English   中英

如何用方括號編碼替換網址中的方括號?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM