7

クエリ文字列といくつかのエンコーディングを取得し、デコードされたキー、値[] URLのマップを返すApacheユーティリティはありますか?

4

2 に答える 2

9

HttpClientの4.xバージョンを使用している場合は、を使用することをお勧めします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セパレータ)を使用して、 NameValuePairのリストを取得します。次に、これらをパラメーター名でキー設定されたCommonsCollectionsMultiMapに配置できます。(通常のハッシュマップを使用することもできますが、キーごとに複数の値を処理するには、より多くのコードが必要になります。)

于 2010-06-02T17:13:06.477 に答える