Java获取url中参数
方案
在 Java 中,你可以利用 URLEncoder
和 URLDecoder
来对 URL 字符串进行编解码,然后使用 String.split()
方法或者使用 正则表达式
来从 URL 字符串中获取参数。
代码示例
/**
* 获取url中的参数
*
* @param url 链接
* @param key 参数key
* @return 参数值
*/
public static String getParameterFromUrl(String url, String key) {
String[] params = url.split("\\?");
String[] queryParams = params[1].split("&");
String result = "";
for (String queryParam : queryParams) {
String[] param = queryParam.split("=");
// System.out.println("key: " + param[0] + " value: " + param[1]);
if (param[0].equals(key)) {
result = param[1];
break;
}
}
return result;
}
注意:上面的参数值有 =
会有 bug,建议使用下面的:
/**
* 获取url中的参数
*
* @param url 链接
* @param key 参数key
* @return 参数值
*/
public static String getParameterFromUrl(String url, String key) {
HashMap<String, String> urlMap = new HashMap<String, String>();
String queryString = StringUtils.substringAfter(url, "?");
for (String param : queryString.split("&")) {
urlMap.put(StringUtils.substringBefore(param, "="), StringUtils.substringAfter(param, "="));
}
return urlMap.get(key);
}