在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(); MapqueryParams = getQueryParameters(query); for (Map.Entry entry : queryParams.entrySet()) { System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue()); } } catch (URISyntaxException e) { e.printStackTrace(); } } private static Map getQueryParameters(String query) { Map 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
并打印每个查询参数的键和值。