我想要一种 java 方式来提取 URL 的参数,无论这些参数的写入方式如何,以常规方式(如( https://www.facebook.com/Doly.mohamed.Smile9?ref=stream&hc_location=stream ))它非常简单,因为我所要做的就是:
URL url = new URL("www.blabla....etc");
String query = url.getQuery();
try{
String [] params = query.split("&");
for(int i= 0 ; i < params.length; i++){
String [] split = params[i].split("=");
parameters.put(split[0], split[1]);
}
}catch(NullPointerException ex){}
所以参数值是:
key = ref value = stream , key = hc_location value = stream
但是,如果 URL 包含以其他方式编写的参数,或者 URL 中没有写入参数,就像 doPost()
的情况一样,我该怎么办?方式。
有没有一种方法可以在不使用 servlet 的情况下从 URL 获取 extraPathInfo?
最佳答案
您可以使用 Apache 的 HTTP utils 轻松做到这一点。
URIBuilder uriBuilder = new URIBuilder(uriString);
List<NameValuePair> urlParameters = uriBuilder.getQueryParams();
String uriWithoutParameters = uriBuilder.clearParameters().toString();
例如,现在您可以使用 http utils API 中的其他类轻松将 GET 请求转换为 POST 请求。
关于java - 如何从 URL 中提取参数,无论其书写方式如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16708436/