我从用户那里获得了一个url字符串,并希望将其转换为合法的http url:
“ http://one.two/three?four五”应变为“ http://one.two/three?four%20five ”
然而,URLEncoder没有帮助,因为它编码整个字符串(包括合法的“://”)。
帮助?
答案 0 :(得分:6)
使用URL
课程。例如:
URL url = new URL(urlString);
String encodedQueryString = URLEncoder.encode(url.getQuery());
String encodedUrl = urlString.replace(url.getQuery(), encodedQueryString);
第三行可能不同 - 例如从其所有部分构建新的URL
。
答案 1 :(得分:3)
使用外部库:
UITableView
输出:
import org.apache.commons.httpclient.util.URIUtil;
String myUrl_1= "http://one.two/three?four five";
System.out.println(URIUtil.encodeQuery(myUrl_1));
或者
http://one.two/three?four%20five
输出:
String webResourceURL = "http://stackoverflow.com/search?q=<script>alert(1)</script> s";
System.out.println(URIUtil.encodeQuery(webResourceURL));
Maven依赖
http://stackoverflow.com/search?q=%3Cscript%3Ealert(1)%3C/script%3E%20s