在Java中如何獲取URL的查詢(xún)參數(shù)

小樊
109
2024-09-14 11:18:51

在Java中,你可以使用java.net.URIjava.net.URL類(lèi)來(lái)獲取URL的查詢(xún)參數(shù)

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;
    }
}

這個(gè)示例首先創(chuàng)建一個(gè)URI對(duì)象,然后從中提取查詢(xún)字符串。接下來(lái),我們使用getQueryParameters()方法將查詢(xún)字符串解析為鍵值對(duì)并存儲(chǔ)在Map中。最后,我們遍歷Map并打印每個(gè)查詢(xún)參數(shù)的鍵和值。

0