我需要一个正则表达式模式,它会在url中找到并替换urls到其urls编码。
例如基本网址:
http://www.mysite.com/bla/blabla/abc[1].txt
将转向:
http://www.mysite.com/bla/blabla/abc%5B1%5D.txt
任何人都可以帮忙吗?
EDIT1: 我原来使用commons-httpclient来访问这种网址。 当我使用第一个URL时,我得到一个“转义绝对路径无效”异常。
我无法使用URLENCODER,因为当我使用它时,我得到一个“主机参数为空”的异常。
答案 0 :(得分:2)
以下行应该可以解决问题
String s = URLEncoder.encode("http://www.mysite.com/bla/blabla/abc[1].txt", "UTF-8");
答案 1 :(得分:-1)
您是否尝试过URLEncoder.encode? p>
编辑:
好的,我看到......你无法将整个URL传递给URLEncoder。 URLEncoder主要用于编码查询参数。
试试这个:
URI uri = new URI("http", "www.mysite.com", "/bla/blabla/abc[1].txt",null);
System.out.println(uri.toASCIIString());