在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
并打印每個查詢參數的鍵和值。