package net.sc.common.util;
import java.net.URI;
import java.util.LinkedHashMap;
import java.util.Map;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* @author Aaron
* @createTime 2014-06-14
* @desc URL解析工具类
*/
public class UrlUtil {
static final Logger log = LogManager.getLogger(UrlUtil.class);
public Map<String, String> getUrlParams(String url) {
return this.getUrlParams(false, url);
}
public Map<String, String> getUrlParams(boolean nameLowerCase, String url) {
Map<String, String> paramMap = new LinkedHashMap<>();
try {
URI uri = new URI(url);
String query = uri.getQuery();
String[] params = query.split("&");
for (String param : params) {
String name = param.substring(0, param.indexOf("="));
String value = param.substring(param.indexOf("=") + 1);
if (nameLowerCase) {
paramMap.put(name.toLowerCase(), value);
} else {
paramMap.put(name, value);
}
}
} catch (Exception e) {
log.warn(String.format("解析URL:%s 参数出错", url), e);
}
return paramMap;
}
}