【发布时间】:2013-09-24 20:52:13
【问题描述】:
我希望以正确的方式替换像“”(空格)这样的特殊字符(空格的情况下为 %20)对 URL 进行编码。我在网上找到的任何解决方案都没有按预期工作。
我尝试使用 apache commons:
import org.apache.commons.lang.StringEscapeUtils;
public class MyTest {
public static void main(String[] args) {
String bla="http://www.bla.com/bla.php?par1=bla bla bla";
System.out.println(StringEscapeUtils.escapeHtml(bla));
}
}
但它会返回:
http://www.bla.com/bla.php?par1=bla bla bla
我尝试使用 java.net.URL:
import java.net.MalformedURLException;
import java.net.URL;
public class MyTest {
public static void main(String[] args) throws MalformedURLException {
String bla="http://www.bla.com/bla.php?par1=bla bla bla";
URL url = new URL(bla);
System.out.println(url);
}
}
但它会返回:
http://www.bla.com/bla.php?par1=bla bla bla
我希望:
http://www.bla.com/bla.php?par1=bla%20bla%20bla
有什么办法吗?
【问题讨论】:
-
你试过 URLEncoder 吗?