Java获取url中参数
时间: 2024-06-08 19:05:56 浏览: 10
可以使用Java中的java.net.URLDecoder类来获取URL中的参数。
首先,使用java.net.URL类来创建一个URL对象,然后使用其getQuery()方法获取URL中的参数部分。例如:
```java
import java.net.URL;
import java.net.URLDecoder;
import java.util.HashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) throws Exception {
String urlString = "http://example.com/?name=John%20Doe&age=30&address=123%20Main%20St";
URL url = new URL(urlString);
String query = url.getQuery();
Map<String, String> params = parseParams(query);
System.out.println(params.get("name")); // output: John Doe
System.out.println(params.get("age")); // output: 30
System.out.println(params.get("address")); // output: 123 Main St
}
public static Map<String, String> parseParams(String query) throws Exception {
Map<String, String> params = new HashMap<>();
String[] pairs = query.split("&");
for (String pair : pairs) {
int idx = pair.indexOf("=");
String key = idx > 0 ? URLDecoder.decode(pair.substring(0, idx), "UTF-8") : pair;
String value = idx > 0 && pair.length() > idx + 1 ? URLDecoder.decode(pair.substring(idx + 1), "UTF-8") : null;
params.put(key, value);
}
return params;
}
}
```
这个示例代码将URL解析为参数映射。 parseParams()方法将参数字符串转换为映射,其中参数名称作为键,参数值作为值。此示例使用UTF-8编码解码参数。