在Java中,可以使用java.net.URL
類來解析URL鏈接并獲取參數。以下是一個示例代碼:
import java.net.URL;
import java.util.HashMap;
import java.util.Map;
public class URLParser {
public static void main(String[] args) {
String urlString = "http://example.com?param1=value1¶m2=value2";
try {
URL url = new URL(urlString);
// 獲取URL中的參數
Map<String, String> params = getParams(url.getQuery());
System.out.println("參數列表:");
for (String key : params.keySet()) {
System.out.println(key + " : " + params.get(key));
}
// 獲取URL的主機名和路徑
String hostname = url.getHost();
String path = url.getPath();
System.out.println("主機名:" + hostname);
System.out.println("路徑:" + path);
} catch (Exception e) {
e.printStackTrace();
}
}
// 解析URL參數
public static Map<String, String> getParams(String query) {
Map<String, String> params = new HashMap<>();
if (query != null) {
String[] pairs = query.split("&");
for (String pair : pairs) {
String[] keyValue = pair.split("=");
if (keyValue.length == 2) {
String key = keyValue[0];
String value = keyValue[1];
params.put(key, value);
}
}
}
return params;
}
}
在上面的示例中,我們首先創建一個URL對象并傳入URL字符串。然后使用getParams
方法解析URL中的參數并存儲在一個HashMap
中。接著,我們可以通過getHost
方法獲取URL的主機名,通過getPath
方法獲取URL的路徑。最后,打印出獲取到的參數、主機名和路徑。
在上面的示例中,我們假設URL中的參數是以key=value
的形式出現,并且參數之間使用&
符號分隔。如果URL的參數格式不同,您可能需要根據實際情況修改getParams
方法中的解析邏輯。