Java

在Java中如何获取URL的查询参数

小樊
82
2024-09-14 11:18:51
栏目: 编程语言

在Java中,你可以使用java.net.URIjava.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并打印每个查询参数的键和值。

0
看了该问题的人还看了