在Java中,你可以使用java.net.URI
和java.net.URL
类来获取URL的查询参数
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Map;
public class URLQueryParameters {
public static void main(String[] args) {
String urlStr = "https://example.com/search?q=test&page=2";
try {
URI uri = new URI(urlStr);
String query = uri.getQuery();
Map<String, String> queryParams = getQueryParameters(query);
for (Map.Entry<String, String> entry : queryParams.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
private static Map<String, String> getQueryParameters(String query) {
Map<String, String> queryParams = new HashMap<>();
if (query != null && !query.isEmpty()) {
String[] pairs = query.split("&");
for (String pair : pairs) {
int idx = pair.indexOf("=");
queryParams.put(pair.substring(0, idx), pair.substring(idx + 1));
}
}
return queryParams;
}
}
这个示例首先创建一个URI
对象,然后从中提取查询字符串。接下来,我们使用getQueryParameters()
方法将查询字符串解析为键值对并存储在Map
中。最后,我们遍历Map
并打印每个查询参数的键和值。