是否有 Apache 实用程序接受 Query String 和一些编码并返回 Map of key,value[] url 解码?
问问题
11584 次
2 回答
9
如果您使用的是 4.x 版本的 HttpClient,您将需要使用URLEncodedUtils.parse()
. 它接受一个 URI(或字符串 + 字符集)并返回一个 NameValuePairs 列表。
于 2014-11-10T20:11:03.253 回答
8
它已被弃用,但您可以使用HttpUtils.parseQueryString。
它将参数名称映射到值。如果参数出现多次,则该值是一个数组。
编辑:不推荐使用上述方法,因为它不允许您指定字符编码。
apache 的 HttpClient 项目具有实现此目的所需的类。
使用URIUtil.decode(String data, String encoding)对查询字符串进行解码。
然后ParameterParser.parse(String query, char separator)得到NameValuePair的列表。然后,您可以将它们放入 Commons Collections MultiMap中,以参数名称为键。(您可以使用常规哈希映射,但这涉及更多代码来处理每个键的多个值。)
于 2010-06-02T17:13:06.477 回答