【发布时间】:2013-05-18 11:43:51
【问题描述】:
我想要一种 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?
【问题讨论】:
-
在 POST 数据的情况下,没有通用的方法来解析参数。 POST 数据可以是任何东西——甚至是序列化的 java 对象。你必须知道你期望得到什么并解析它。如果解析不起作用,则返回一些错误代码。
-
有没有标准的方式把参数写在http body里面呢?
标签: java url http-post url-parameters query-parameters