Java获取url中参数

Terwer Java SE评论6941字数 896阅读2分59秒阅读模式

方案

在 Java 中,你可以利用 URLEncoder ​ ​和 URLDecoder ​ ​来对 URL 字符串进行编解码,然后使用 String.split()​ 方法或者使用 正则表达式​ 来从 URL 字符串中获取参数文章源自浅海拾贝-https://blog.terwergreen.com/java-get-the-parameter-in-the-url-zbioxp.html

代码示例

/**
 * 获取url中的参数
 *
 * @param url 链接
 * @param key 参数key
 * @return 参数值
 */
public static String getParameterFromUrl(String url, String key) {
    String[] params = url.split("\\?");
    String[] queryParams = params[1].split("&");

    String result = "";
    for (String queryParam : queryParams) {
        String[] param = queryParam.split("=");
        // System.out.println("key: " + param[0] + " value: " + param[1]);
        if (param[0].equals(key)) {
            result = param[1];
            break;
        }
    }

    return result;
}

注意:上面的参数值有 =​ 会有 bug,建议使用下面的:文章源自浅海拾贝-https://blog.terwergreen.com/java-get-the-parameter-in-the-url-zbioxp.html

/**
 * 获取url中的参数
 *
 * @param url 链接
 * @param key 参数key
 * @return 参数值
 */
public static String getParameterFromUrl(String url, String key) {
    HashMap<String, String> urlMap = new HashMap<String, String>();
    String queryString = StringUtils.substringAfter(url, "?");
    for (String param : queryString.split("&")) {
        urlMap.put(StringUtils.substringBefore(param, "="), StringUtils.substringAfter(param, "="));
    }
    return urlMap.get(key);
}
文章源自浅海拾贝-https://blog.terwergreen.com/java-get-the-parameter-in-the-url-zbioxp.html
相关文章
  • 扫码加我微信
  • 验证消息请输入:来自你的博客
  • weinxin
  • 我的微信公众号
  • 微信扫一扫与我交流吧
  • weinxin
Terwer
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: