URL查询部分的组成和分解

时间:2014-04-04 23:50:40

标签: java url encoding

首选/推荐的方式来处理以下网址的查询部分:

(?)attr=value&attr=value2&attr2=value

特别是Map<String,String>和查询字符串url编码形式之间的转换。是否有任何理智的实现,负责编码像&amp; amp;和=? attr名称中的“=”怎么样?有没有相关的RFC?

1 个答案:

答案 0 :(得分:1)

您可以使用URI模板。

This library正是如此。引自README的示例:

# Substitution of a map of query parameters
http://foo.bar.com/some/request{?queryparams*}

# "queryparams" associative array:
hello -> world!,
streetInGerman -> Straße

# result of expansion:
http://foo.bar.com/some/request?hello=world%21&streetInGerman=Stra%C3%9Fe

相关的RFC是RFC 3986(URI)和RFC 6570(URI模板)。


为了分解,它有点难;您可以使用URI类来解析URI,然后获取查询字符串。但你仍然需要自己分割结果。