Java获取url中参数

方案

在 Java 中,你可以利用 URLEncoder ​ ​和 URLDecoder ​ ​来对 URL 字符串进行编解码,然后使用 String.split()​ 方法或者使用 正则表达式​ 来从 URL 字符串中获取参数。

代码示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/**
* 获取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,建议使用下面的:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
/**
* 获取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);
}
作者

Terwer

发布于

2023-02-03

更新于

2023-02-03

许可协议

评论